武汉理工大学《MATLAB课程设计》报告
经低通滤波器后,解调器最终输出噪声为no(t)?1nc?t? 2111故输出噪声功率为No?ni2(t)?Ni?n0B
444式中,B=2,为DSB的带通滤波器的带宽,n0为噪声单边功率谱密度。
1解调器输入信号平均功率为Si?sm2(t)?[m(t)cos??ct?]2?m2(t)
212m(t)Som2(t)Si2??可得解调器的输入信噪比 ,解调器的输出信噪比 Non0BNin0B因此制度增益为GDSB?2,也就是说,DSB信号的解调器使信噪比改善一倍。
6
武汉理工大学《MATLAB课程设计》报告
2.DSB调制解调分析的MATLAB实现
信号DSB调制采用MATLAB函数modulate实现,其函数格式为: Y = MODULATE(X,fc,fs,METHOD,OPT)
X为基带调制信号,fc为载波频率,fs为抽样频率,METHOD为调制方式选择,DSB调制时为’am’,OPT在DSB调制时可不选,fs需满足fs > 2*fc + BW,BW为调制信号带宽。
DSB信号解调采用MATLAB函数demod实现,其函数使用格式为: X = DEMOD(Y,fc,fs,METHOD,OPT)
Y为DSB已调信号,fc为载波频率,fs为抽样频率,METHOD为解调方式选择,DSB解调时为’am’,OPT在DSB调制时可不选。
观察信号频谱需对信号进行傅里叶变换,采用MATLAB函数fft实现,其函数常使用格式为:Y=FFT(X,N),X为时域函数,N为傅里叶变换点数选择,一般取值。频域变换后,对频域函数取模,格式:Y1=ABS(Y),再进行频率转换,转换方法:f=(0:length(Y)-1)’*fs/length(Y)
分析解调器的抗噪性能时,在输入端加入高斯白噪声,采用MATLAB函数awgn实现,其函数使用格式为:Y =AWGN(X,S_N),加高斯白噪声于X中,S_N为信噪比,单位为dB,其值在假设X的功率为0dBM的情况下确定。
信号的信噪比为信号中有用的信号功率与噪声功率的比值,根据信号功率定义,采用MATLAB函数var实现,其函数常使用格式为:Y =VAR(X),返回向量的方差,则信噪比为:S_N=VAR(X1)/VAR(X2)。
绘制曲线采用MATLAB函数plot实现,其函数常使用格式:PLOT(X,Y),X为横轴变量,Y为纵轴变量,坐标范围限定AXIS([x1 x2 y1 y2]),轴线说明XLABEL(‘ ‘)和YLABEL(‘ ‘)。
2.1正弦波调制
用频率300HZ正弦波调制频率30KHZ的正弦波,采用同步解调,观察调制信号、已
7
武汉理工大学《MATLAB课程设计》报告
调信号、解调信号的波形、频谱以及解调器输入输出信噪比的关系。
MATLAB源程序如下:
fc=30000; fs=100000; N=1000; n=0:N-1; t=n/fs;
x=A*sin(2*pi*300*t);
y=modulate(x,fc,fs,'am'); %抑制双边带振幅调制 fft1=fft(x,N); %傅里叶变换 mag1=abs(fft1); %取模 f1=(0:length(fft1)-1)'*fs/length(fft1); fft2=fft(y,N); mag2=abs(fft2);
f2=(0:length(fft2)-1)'*fs/length(fft2); figure(1);
subplot(2,2,1); plot(t,x); xlabel('调制信号波形')
subplot(2,2,2); plot(f1,mag1); axis([0 600 0 600]); xlabel('调制信号频谱')
subplot(2,2,3); plot(t,y); xlabel('已调信号波形')
subplot(2,2,4); plot(f2,mag2); axis([28000 32000 0 400]); xlabel('已调信号频谱')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
yn=awgn(y,4); %加入高斯白噪声
8
武汉理工大学《MATLAB课程设计》报告
znn=demod(y,fc,fs,'am'); %无噪声已调信号解调 zn=demod(yn,fc,fs,'am'); %加噪声已调信号解调 fft3=fft(znn,N); mag3=abs(fft3);
f3=(0:length(fft3)-1)'*fs/length(fft3); figure(2);
subplot(3,1,1); plot(t,zn); xlabel('加噪声解调信号波形') subplot(3,1,2); plot(t,znn); xlabel('无噪声解调信号波形')
subplot(3,1,3); plot(f3,mag3); axis([0 500 0 500]); xlabel('解调信号频谱')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
yn1=awgn(y,8); yn2=awgn(y,12); yn3=awgn(y,16); yn4=awgn(y,20);
zn1=demod(yn1,fc,fs,'am'); zn2=demod(yn2,fc,fs,'am'); zn3=demod(yn3,fc,fs,'am'); zn4=demod(yn4,fc,fs,'am');
dyi=yn-y; %高斯白噪声 s_ni=var(y)/var(dyi); %输入信噪比 dyo=zn-znn; %解调后噪声
s_no=var(znn)/var(dyo); %输出信噪比 dyi1=yn1-y;
9