msk的調(diào)制解調(diào)MATLAB源代碼_第1頁
msk的調(diào)制解調(diào)MATLAB源代碼_第2頁
msk的調(diào)制解調(diào)MATLAB源代碼_第3頁
msk的調(diào)制解調(diào)MATLAB源代碼_第4頁
msk的調(diào)制解調(diào)MATLAB源代碼_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、msk的調(diào)制解調(diào)MATLAB源代碼 function out = delay(data,n,sample_number) %data:延遲的數(shù)據(jù) %n:延遲碼元個(gè)數(shù) %sample_number:碼元采樣個(gè)數(shù) out = zeros(1,length(data); out(n*sample_number+1:length(data) = data(1:length(data)-n*sample_number);function data_diff = difference(data) %差分編碼 %* %data       

2、;    輸入信號 %data_diff      差分編碼后信號 %*  %- data_diff = zeros(1,length(data); data_diff(1) = 1 * data(1);   %1為差分編碼的初始參考值 for i = 2:length(data)     data_diff(i) = data_diff(i-1) * data(i); end %*function signal_out,I_out,Q_out = mod

3、_msk(data,data_len,sample_number,Rb) %MSK基帶調(diào)制 %* % data              調(diào)制信號 % data_len          碼元個(gè)數(shù) % sample_number     每個(gè)碼元采樣點(diǎn)數(shù) % Rb      &#

4、160;         碼元速率 % signal_out        基帶調(diào)制輸出 % I_out             I路輸出 % Q_out             Q路輸出 %*  %

5、 data_len = 10;                %碼元個(gè)數(shù) % sample_number = 8;            %采樣點(diǎn)數(shù) % Rb = 16000;             

6、0;     %碼元速率 % data1 = randint(1,data_len); % data = 2*data1-1;             %傳輸?shù)男蛄? Tb = 1/Rb;                    &

7、#160; %碼元時(shí)間 fs = Rb*sample_number;          %采樣速率  %- %差分編碼 data_diff = difference(data); %*  %- %并串轉(zhuǎn)換,延時(shí) I(1) = 1;             %fai0 = 0,cos(fai0) = 1 for i = 1:2:data_len   

8、  Q(i) = data_diff(i);     Q(i+1) = data_diff(i); end for i = 2:2:data_len     I(i+1) = data_diff(i);     I(i) = data_diff(i); end  for i = 1:sample_number     I1(i:sample_number:data_len*sample_number) = I(1:data_len);  

9、0;  Q1(i:sample_number:data_len*sample_number) = Q(1:data_len); end %*  %- %乘加權(quán)函數(shù) t=1/fs:1/fs:data_len*Tb; I_out = I1 .* cos(pi*t/2/Tb); Q_out = Q1 .* sin(pi*t/2/Tb); %*  %- %調(diào)制信號產(chǎn)生 signal_out = I_out + j*Q_out; %*  % %- % %畫圖 % subplot(221) % plot(data,'.-');title('M

10、SK傳輸?shù)臄?shù)據(jù)');xlabel('時(shí)間');ylabel('幅度') % subplot(222) % plot(data_diff,'.-');title('差分后的數(shù)據(jù)');xlabel('時(shí)間');ylabel('幅度') % subplot(223) % plot(I1,'.-');title('加權(quán)前I路');xlabel('時(shí)間');ylabel('幅度'); % subplot(224) % plot(Q1,&#

11、39;.-');title('加權(quán)前Q路');xlabel('時(shí)間');ylabel('幅度'); %  % figure(2) % subplot(221) % plot(cos(pi*t/2/Tb),'.-');title('加權(quán)函數(shù)cos(t/(2Tb)');xlabel('時(shí)間');ylabel('幅度') % subplot(222) % plot(sin(pi*t/2/Tb),'.-');title('加權(quán)函數(shù)sin(t/(2Tb

12、)');xlabel('時(shí)間');ylabel('幅度') % subplot(223) % plot(I_out,'.-');title('加權(quán)后I路');xlabel('時(shí)間');ylabel('幅度'); % subplot(224) % plot(Q_out,'.-');title('加權(quán)后Q路');xlabel('時(shí)間');ylabel('幅度'); % %* function signal_out,I_out,Q_o

13、ut,phase = mod_msk2(data,data_len,sample_number,Rb) %MSK基帶調(diào)制 %* % data              調(diào)制信號 % data_len          碼元個(gè)數(shù) % sample_number     每個(gè)碼元采樣點(diǎn)數(shù) % Rb    

14、;            碼元速率 % signal_out        基帶調(diào)制輸出 % I_out             I路輸出 % Q_out            

15、Q路輸出 %*  % data_len = 10;                %碼元個(gè)數(shù) % sample_number = 8;            %采樣點(diǎn)數(shù) % Rb = 16000;           &

16、#160;       %碼元速率 % data1 = randint(1,data_len); % data = 2*data1-1;             %傳輸?shù)男蛄? Tb = 1/Rb;                 

17、0;    %碼元時(shí)間 fs = Rb*sample_number;          %采樣速率  %- %采樣 for i = 1:sample_number     data_sample(i:sample_number:data_len*sample_number) = data; end %*  %- %計(jì)算相位 phase = zeros(1,data_len*sample_number); phase(1) =

18、data_sample(1) * pi/2/sample_number; for i = 2:data_len*sample_number     phase(i) = phase(i-1) + data_sample(i-1) * pi/2/sample_number; end %*  %- %I/Q I_out = cos(phase); Q_out = sin(phase); %*  %- %調(diào)制信號產(chǎn)生 signal_out = I_out + j*Q_out; %*%MSK調(diào)制,差分解調(diào)方法一 clear all close all

19、 %- %參數(shù)設(shè)置 data_len = 10000;           %碼元個(gè)數(shù) sample_number = 8;          %采樣個(gè)數(shù) Rb = 24000;                 %碼元速率 fc = 960

20、00;                 %載波頻率 %*  %- %隨機(jī)產(chǎn)生傳輸信號 data=rand_binary(data_len); %*  %- %MSK基帶調(diào)制 signal_out,I_out,Q_out = mod_msk(data,data_len,sample_number,Rb); %*  %- %中頻搬移 multi = fc/Rb; I_temp=interp(I_out,mult

21、i); Q_temp=interp(Q_out,multi);  Fs=fc*sample_number; t=1/Fs:1/Fs:length(I_temp)*1/Fs; signal_i=I_temp.*cos(2*pi*fc*t); signal_q=Q_temp.*sin(2*pi*fc*t); signal_mod=I_temp.*cos(2*pi*fc*t)-Q_temp.*sin(2*pi*fc*t); %*  %- %加噪聲 for SNR = 0:8 signal_mod1 = awgn(signal_mod,SNR);    

22、;  %-     %去載波     N=300;                                        

23、      % 濾波器的階數(shù)為(N+1)       F=0,fc-1000,fc+1000,Fs/2*2/Fs;     A=1,1,0,0;     lpf=firls(N,F,A);     amp_lpf,w=freqz(lpf);          I_dem=signal_mod1.*cos(2*pi*fc*t)*2; 

24、60;   I_dem=conv(I_dem,lpf);     I_dem=I_dem(N/2+1:N/2+length(I_temp);     Q_dem=signal_mod1.*sin(2*pi*fc*t)*2;     Q_dem=conv(Q_dem,lpf);     Q_dem=-Q_dem(N/2+1:N/2+length(I_temp);          I_de

25、m_out=zeros(1,length(I_dem)/multi);         % 抽取     Q_dem_out=zeros(1,length(Q_dem)/multi);     for i=1:length(I_dem_out)        I_dem_out(i)=I_dem(multi*(i-1)+1);       

26、; Q_dem_out(i)=Q_dem(multi*(i-1)+1);     end;     %*          %-     %差分解調(diào)     demod_data = zeros(1,data_len);     demod_data(1) = Q_dem_out(sample_number);     for i = 2:data

27、_len         demod_data(i) = Q_dem_out(i*sample_number)*I_dem_out(i-1)*sample_number) - I_dem_out(i*sample_number)*Q_dem_out(i-1)*sample_number);     end     %*          %-     %判決 

28、0;   demod_data = demod_data>0;     demod_data = 2*demod_data-1;     %*      %-     %計(jì)算誤碼率     num,ber(SNR+1)=symerr(demod_data,data);     %* end %*  %- %誤碼率曲線 semilogy(0:8,ber,'r*-&#

29、39;); %*  %- %誤碼率理論值 snr = 0:0.1:8; for i = 1:length(snr)     snr1(1,i) = 10(snr(1,i)/10);     ps(1,i) = 1/2 * erfc(sqrt(snr1(1,i);     pe(1,i) = 2 * ps(1,i); end hold on semilogy(0:.1:8,pe); %*%MSK調(diào)制,差分解調(diào)方法二 clear all close all  %- %參數(shù)設(shè)置 data_l

30、en = 10000;           %碼元個(gè)數(shù) sample_number = 8;          %采樣個(gè)數(shù) Rb = 24000;                 %碼元速率 fc = 96000;   

31、              %載波頻率 %*  %- %隨機(jī)產(chǎn)生傳輸信號 data=rand_binary(data_len); %*  %- %MSK基帶調(diào)制 signal_out,I_out,Q_out = mod_msk(data,data_len,sample_number,Rb); %*  %- %中頻搬移 multi = fc/Rb; I_temp=interp(I_out,multi); Q_temp=interp(Q_o

32、ut,multi);  Fs=fc*sample_number; t=1/Fs:1/Fs:length(I_temp)*1/Fs; signal_i=I_temp.*cos(2*pi*fc*t); signal_q=Q_temp.*sin(2*pi*fc*t); signal_mod=I_temp.*cos(2*pi*fc*t)-Q_temp.*sin(2*pi*fc*t); %*  %- %加噪聲 for SNR = 0:8 signal_mod1 = awgn(signal_mod,SNR);      %-  

33、0;  %去載波     N=300;                                           

34、60;  % 濾波器的階數(shù)為(N+1)       F=0,fc-1000,fc+1000,Fs/2*2/Fs;     A=1,1,0,0;     lpf=firls(N,F,A);     amp_lpf,w=freqz(lpf);          I_dem=signal_mod1.*cos(2*pi*fc*t)*2;     I_dem

35、=conv(I_dem,lpf);     I_dem=I_dem(N/2+1:N/2+length(I_temp);     Q_dem=signal_mod1.*sin(2*pi*fc*t)*2;     Q_dem=conv(Q_dem,lpf);     Q_dem=-Q_dem(N/2+1:N/2+length(I_temp);          I_dem_out=zeros(1,length(

36、I_dem)/multi);         % 抽取     Q_dem_out=zeros(1,length(Q_dem)/multi);     for i=1:length(I_dem_out)        I_dem_out(i)=I_dem(multi*(i-1)+1);        Q_dem_out(i)=Q_dem(

37、multi*(i-1)+1);     end;     %*          %-     %差分解調(diào)     demod_data = zeros(1,data_len);     demod_data(1) = Q_dem_out(sample_number);     for i = 2:2:data_len   &#

38、160;     demod_data(i) = -I_dem_out(i*sample_number)*Q_dem_out(i-1)*sample_number);     end     for i = 3:2:data_len         demod_data(i) = Q_dem_out(i*sample_number)*I_dem_out(i-1)*sample_number);   

39、0; end     %*          %-     %判決     demod_data = demod_data>0;     demod_data = 2*demod_data-1;     %*      %-     %計(jì)算誤碼率     num,ber(S

40、NR+1)=symerr(demod_data,data);     %* end %*  %- %誤碼率曲線 semilogy(0:8,ber,'r*'); %*  %- %誤碼率理論值 snr = 0:0.1:8; for i = 1:length(snr)     snr1(1,i) = 10(snr(1,i)/10);     ps(1,i) = 1/2 * erfc(sqrt(snr1(1,i);     pe(1,i) = 2

41、* ps(1,i); end hold on semilogy(0:.1:8,pe); %*%MSK調(diào)制,解調(diào) clear all close all  %- %參數(shù)設(shè)置 data_len = 30000;           %碼元個(gè)數(shù) sample_number = 8;          %采樣個(gè)數(shù) Rb = 24000;      

42、;           %碼元速率 fc = 96000;                 %載波頻率 %*  %- %隨機(jī)產(chǎn)生傳輸信號 data = rand_binary(data_len); %*  %- %MSK基帶調(diào)制 signal_out,I_out,Q_out = mod_msk(data,data_le

43、n,sample_number,Rb); %*  %- %中頻搬移 multi = fc/Rb; I_temp=interp(I_out,multi); Q_temp=interp(Q_out,multi);  Fs=fc*sample_number; t=1/Fs:1/Fs:length(I_temp)*1/Fs; signal_i=I_temp.*cos(2*pi*fc*t); signal_q=Q_temp.*sin(2*pi*fc*t); signal_mod=I_temp.*cos(2*pi*fc*t)-Q_temp.*sin(2*pi*fc*t); % sign

44、al_mod1=real(I_temp+j*Q_temp).*exp(j*2*pi*fc*t); %*  %- %加噪聲 for SNR = 0:8 signal_mod1 = 0.01 * awgn(signal_mod,SNR);      %-     %去載波     N=300;                

45、0;                             % 濾波器的階數(shù)為(N+1)       F=0,fc-1000,fc+1000,Fs/2*2/Fs;     A=1,1,0,0;     lpf

46、=firls(N,F,A);     amp_lpf,w=freqz(lpf);          I_dem=signal_mod1.*cos(2*pi*fc*t)*2 .* cos(pi*t*Rb/2);     I_dem=conv(I_dem,lpf);     I_dem=I_dem(N/2+1:N/2+length(I_temp);     Q_dem=signal_mod1.*sin(2*pi

47、*fc*t)*2 .* sin(pi*t*Rb/2);     Q_dem=conv(Q_dem,lpf);     Q_dem=-Q_dem(N/2+1:N/2+length(I_temp);          I_dem_out=zeros(1,length(I_dem)/multi);         % 抽取     Q_dem_out=zeros(

48、1,length(Q_dem)/multi);     for i=1:length(I_dem_out)        I_dem_out(i)=I_dem(multi*(i-1)+1);        Q_dem_out(i)=Q_dem(multi*(i-1)+1);     end;         %*    

49、;  %-     %解調(diào),判決     demod_data = zeros(1,data_len);     for i = 1:data_len         I_dem1(i) = I_dem_out(i*sample_number)>0;         Q_dem1(i) = Q_dem_out(i*sample_number)>0;     end     for i = 1:2:data_len         m1(i) = Q_dem1(i);   &#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論