找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7944|回復: 0
打印 上一主題 下一主題
收起左側(cè)

基于Matlab的數(shù)字基帶傳輸系統(tǒng)實驗 2ASK源代碼

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:80436 發(fā)表于 2015-5-19 20:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
南京航空航天大學
實驗報 告
課程名稱:通信原理實驗
實驗名稱:基于Matlab的數(shù)字基帶傳輸系統(tǒng)實驗
評定成績:
審閱教師:
一. 實驗目的
1.1  掌握數(shù)字基帶傳輸系統(tǒng)和振幅鍵控調(diào)制/解調(diào)的原理和方法;
1.2  掌握數(shù)字基帶和振幅鍵控信號的波形和功率譜特點;
1.3  掌握振幅鍵控調(diào)制系統(tǒng)的MATLAB仿真實現(xiàn)方法。  
二.原理框圖
二進制振幅鍵控信號的產(chǎn)生方法(調(diào)制方法)有兩種:模擬調(diào)制法(相乘器)和鍵控法。
三.程序源代碼
%2ASK信號的調(diào)制與解調(diào)源代碼
bit=[1 0 1 0 1 0 1 0];%g為比特流
N=100; %碼元速率
fc=1000;%載波頻率
swr=10;%信噪比
M=8;%碼元個數(shù)
bitrate=100;
fs=N*bitrate;
t=linspace(0,1/bitrate,N);
ts=1/fs;
%載波信號
c=cos(2*pi*fc*t);
figure(1)
plot(c,'g');
title('載波信號波形');
y1=fftshift(abs(fft(c)));
figure(2)
plot(y1,'g');
title('載波信號頻譜');
axis([-100,200,0,100]);
%數(shù)字基帶信號產(chǎn)生
bits=[]; sig=[]; s=[];     
  for i=1:length(bit)%%length(m)表示信號m的長度
      if bit(i)==0
          bits=zeros(1,N);
      else
          bits=ones(1,N);
      end
     sig=[sig,bits]; %數(shù)字基帶信號
     s=[s,cos(2*pi*fc*t).*bits];%已調(diào)信號
  end
figure(3)
plot(sig,'r');
title('數(shù)字基帶信號波形');
axis([0,900,-0.5,2]);
y2=fftshift(abs(fft(sig)));
figure(4)
plot(y2,'r');
title('數(shù)字基帶信號頻譜');
axis([0,900,0,450]);
%基帶信號功率譜
nfft=1024;
cxn=xcorr(sig,'unbiased'); %計算序列的自相關函數(shù)
CXk=fft(cxn,nfft);
Pxx=abs(CXk);
index=0:round(nfft/2-1);
k=index*fs/nfft;
plot_Pxx=10*log10(Pxx(index+1));
figure(5)
plot(k,plot_Pxx);
title('數(shù)字基帶信號功率譜');
%已調(diào)信號的波形以及頻譜
figure(6)
plot(s,'y');
title('已調(diào)信號波形');
y3=fftshift(abs(fft(s)));
figure(7)
plot(y3,'y');
title('已調(diào)信號頻譜');
axis([-100,1000,0,250])
%加噪聲
figure(8)
y4= awgn(s,swr);
plot(y4,'r');
title('加噪聲后的已調(diào)信號');
%求加噪聲后的功率譜密度
nfft=1024;
cxn=xcorr(y4,'unbiased'); %計算序列的自相關函數(shù)
CXk=fft(cxn,nfft);
Pxx=abs(CXk);
index=0:round(nfft/2-1);
k=index*fs/nfft;
plot_Pxxn=10*log10(Pxx(index+1));
figure(9)
plot(k,plot_Pxxn);
title('加噪聲后數(shù)字基帶信號功率譜');
%帶通濾波
a=[700,1300];c=0.1;d=35;
Wp=a/(fs/2); %%若為低通,a 為一個頻率值,若為帶通a 為一個頻率范圍[a1 a2]
Rp=c; %% c 為通帶最大衰減分貝
Rs=d; %% d 為阻帶最小衰減分貝
[b,a]=ellip(4,Rp,Rs,Wp);
s1=filter(b,a,s);
figure(10)
plot(s1,'g');
title('帶通濾波后的數(shù)字基帶信號');
%帶通濾波后信號功率譜密度
nfft=1024;
cxn=xcorr(s1,'unbiased'); %計算序列的自相關函數(shù)
CXk=fft(cxn,nfft);
Pxx=abs(CXk);
index=0:round(nfft/2-1);
k=index*fs/nfft;
plot_Pxx=10*log10(Pxx(index+1));
figure(11)
plot(k,plot_Pxx);
title('帶通濾波后信號功率譜');
%抽樣判決(解調(diào)過程)
sigout=[];
for i=1:M
    if s1(N*(i-1)+N/2)>0.5
        bits=ones(1,N);
   
    else
        bits=zeros(1,N);
    end
    sigout=[sigout,bits];
end
figure(12)
plot(sigout,'g');
title('抽樣判決后的解調(diào)信號波形');
axis([0,900,-0.5,1.5]);
%解調(diào)信號功率譜密度
nfft=1024;
cxn=xcorr(sigout,'unbiased'); %計算序列的自相關函數(shù)
CXk=fft(cxn,nfft);
Pxx=abs(CXk);
index=0:round(nfft/2-1);
k=index*fs/nfft;
plot_Pxx=10*log10(Pxx(index+1));
figure(13)
plot(k,plot_Pxx);
title('濾波后的解調(diào)信號功率譜');
%最后將原基帶信號和解調(diào)后的基帶信號統(tǒng)一繪圖作比較
figure(14)
subplot(2,1,1);
plot(sig,'r');
title('原數(shù)字基帶信號');
axis([0,1000,-0.5,1.5]);
subplot(2,1,2);
plot(sigout,'r');
title('解調(diào)信號');
axis([0,1000,-0.5,1.5]);
四.對應波形及頻譜圖




原文件from寶杰童鞋~
修改后的另一種碼元調(diào)制與解調(diào)源代碼~




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表