通信信号与系统分析(三 模拟调制)

    xiaoxiao2023-03-24  4

    本篇讨论各种模拟调制与解调系统的性能,包括幅度调制(AM)和角度调制(包括频率调制(FM)和相位调制(PM))。

    (一 )AM信号的仿真

    例 消息信号是[-3 3]均匀分布的随机整数,产生的时间间隔为1/10s,用AM方法调制载波cos(2*pi*fc*t),假设fc=100,A0=4,0<=t<=10,试求: (1)消息信号和已调信号的频谱。 (2)已调信号的功率和调制效率。 clear all ts=0.0025; %信号抽样时间间隔 t=0:ts:10-ts; %时间向量 fs=1/ts; %抽样频率 df=fs/length(t); %fft的频率分辨率 msg=randint(100,1,[-3,3],123); %生成消息序列,随机数种子为123 msg1=msg*ones(1,fs/10); %扩展成取样信号形式 msg2=reshape(msg1.',1,length(t)); Pm=fft(msg2)/fs; %求消息信号的频谱 f=-fs/2:df:fs/2-df; subplot(2,1,1) plot(f,fftshift(abs(Pm))) %画出消息信号频谱 title('消息信号频谱') A=4; fc=100; %载波频率 Sam=(A+msg2).*cos(2*pi*fc*t); %已调信号 Pam=fft(Sam)/fs; %已调信号频谱 subplot(2,1,2) plot(f,fftshift(abs(Pam))) %画出已调信号频谱 title('AM信号频谱') axis([-200 200 0 23]) Pc=sum(abs(Sam).^2)/length(Sam) %已调信号功率 Ps=Pc-A^2/2 %消息信号功率 eta=Ps/Pc %调制效率

    (二)AM信号的解调

    例 消息信号是[-3 3]均匀分布的随机整数,产生的时间间隔为1/2s,用AM方法调制载波cos(2*pi*fc*t),假设fc=100,A0=4,0<=t<=5,试求: (1)用包络检波器解调该信号,画出原始波形的解调信号。 (2)假设调制信号通过AWGN信道,信噪比为20dB,画出解调后的信号和原始信号。 clear all ts=0.0025; %信号抽样时间间隔 t=0:ts:5-ts; %时间向量 fs=1/ts; %抽样频率 msg=randint(10,1,[-3,3],123); %生成消息序列,随机数种子为123 msg1=msg*ones(1,fs/2); %扩展成取样信号形式 msg2=reshape(msg1.',1,length(t)); subplot(3,1,1) plot(t,msg2) %画出消息信号 title('消息信号') A=4; fc=100; %载波频率 Sam=(A+msg2).*cos(2*pi*fc*t); %已调信号 dems=abs(hilbert(Sam))-A; %包络检波,并且去掉直流分量。 subplot(3,1,2) plot(t,dems) %画出解调后的信号 title('无噪声的解调信号') y=awgn(Sam,20,'measured'); %调制信号通过AWGN信道 dems2=abs(hilbert(y))-A; %包络检波,并且去掉直流分量。 subplot(3,1,3) %画出解调信号 plot(t,dems2) title('信噪比为20dB时的解调信号')

    (三) DSBSC信号的调制与解调

    例 消息信号是[-3 3]均匀分布的随机整数,产生的时间间隔为1/2s,用DSBSC方法调制载波cos(2*pi*fc*t),假设fc=100,0<=t<=5,试求: (1)用同步检波解调该信号,设低通滤波器的截止频率为100Hz,增益为2,画出原始信号和解调信号。 (2)假设解调信号通过AWGN信道,信噪比为20dB,画出解调后的信号与原始信号。 程序代码: clear all ts=0.0025; %信号抽样时间间隔 t=0:ts:5-ts; %时间向量 fs=1/ts; %抽样频率 df=fs/length(t); %fft的频率分辨率 f=-fs/2:df:fs/2-df; msg=randint(10,1,[-3,3],123); %生成消息序列,随机数种子为123 msg1=msg*ones(1,fs/2); %扩展成取样信号形式 msg2=reshape(msg1.',1,length(t)); subplot(3,1,1) plot(t,msg2) %画出消息信号 title('消息信号') fc=100; %载波频率 Sdsb=msg2.*cos(2*pi*fc*t); %已调信号 y=Sdsb.*cos(2*pi*fc*t); %相干解调 Y=fft(y)./fs; %解调后的频谱 f_stop=100; %低通滤波器的截止频率 n_stop=floor(f_stop/df); Hlow=zeros(size(f)); %设计低通滤波器 Hlow(1:n_stop)=2; Hlow(length(f)-n_stop+1:end)=2; DEM=Y.*Hlow; %解调信号通过低通滤波器 dem=real(ifft(DEM))*fs; %最终得到的解调信号 subplot(3,1,2) plot(t,dem); title('无噪声的解调信号') y1=awgn(Sdsb,20,'measured'); %调制信号通过AWGN信道 y2=y1.*cos(2*pi*fc*t); %相干解调 Y2=fft(y2)./fs; %解调信号的频谱 DEM1=Y2.*Hlow; %解调信号通过低通滤波器 dem1=real(ifft(DEM1))*fs; %最终得到的解调信号 subplot(3,1,3) plot(t,dem1) title('信噪比为20dB时的解调信号')

    (四)SSB信号的调制与解调

    例 消息信号是[-3 3]均匀分布的随机整数,产生的时间间隔为1/2s,用相移法调制载波cos(2*pi*fc*t)生产USSB信号,假设fc=100,0<=t<=5,试求: (1)用同步检波器解调该信号,设低通滤波器的截止频率为100Hz,增益为4,画出原始信号与解调信号。 (2)假设调制信号通过AWGN信道,信噪比为20dB,画出解调后的信号和原始信号。 代码如下: clear all ts=0.0025; %信号抽样时间间隔 t=0:ts:5-ts; %时间向量 fs=1/ts; %抽样频率 df=fs/length(t); %fft的频率分辨率 msg=randint(10,1,[-3,3],123); %生成消息序列,随机数种子为123 msg1=msg*ones(1,fs/2); %扩展成取样信号形式 msg2=reshape(msg1.',1,length(t)); Pm=fft(msg2)/fs; %求消息信号的频谱 f=-fs/2:df:fs/2-df; subplot(3,1,1) plot(t,msg2) %画出消息信号 title('消息信号') fc=300; %载波频率 s1=0.5*msg2.*cos(2*pi*fc*t); %USSB信号的同相分量 hmsg=imag(hilbert(msg2)); %消息信号的Hilbert变换 s2=0.5*hmsg.*sin(2*pi*fc*t); %USSB信号的正交分量 Sussb=s1-s2; %完整的USSB信号 y=Sussb.*cos(2*pi*fc*t); %相干解调 Y=fft(y)./fs; %解调后的频谱 f_stop=100; %低通滤波器的截止频率 n_stop=floor(f_stop/df); Hlow=zeros(size(f)); %设计低通滤波器 Hlow(1:n_stop)=4; Hlow(length(f)-n_stop+1:end)=4; DEM=Y.*Hlow; %解调信号通过低通滤波器 dem=real(ifft(DEM))*fs; %最终得到的解调信号 subplot(3,1,2) plot(t,dem); title('无噪声的解调信号') y1=awgn(Sussb,20,'measured'); %调制信号通过AWGN信道 y2=y1.*cos(2*pi*fc*t); %相干解调 Y2=fft(y2)./fs; %解调信号的频谱 DEM1=Y2.*Hlow; %解调信号通过低通滤波器 dem1=real(ifft(DEM1))*fs; %最终得到的解调信号 subplot(3,1,3) plot(t,dem1) title('信噪比为20dB时的解调信号')

    (五)FM信号的调制和解调

    例 消息信号是[-3 3]均匀分布的随机整数,产生的时间间隔为1/2s,小心信号采用FM调制载波cos(2*pi*fc*t)。设fc=300,0<=t<=5,kf=50,试求: (1)用鉴频法调制该信号,画出原始信号和解调信号。 (2)假设调制信号通过AWGN信道,信噪比为20dB,画出解调后的信号和原始信号。 clear all ts=0.001; %信号抽样时间间隔 t=0:ts:5-ts; %时间向量 fs=1/ts; %抽样频率 df=fs/length(t); %fft的频率分辨率 msg=randint(10,1,[-3,3],123); %生成消息序列,随机数种子为123 msg1=msg*ones(1,fs/2); %扩展成取样信号形式 msg2=reshape(msg1.',1,length(t)); Pm=fft(msg2)/fs; %求消息信号的频谱 f=-fs/2:df:fs/2-df; subplot(3,1,1) plot(t,msg2) %画出消息信号 title('消息信号') int_msg(1)=0; %消息信号积分 for ii=1:length(t)-1 int_msg(ii+1)=int_msg(ii)+msg2(ii)*ts; end kf=50; fc=300; %载波频率 Sfm=cos(2*pi*fc*t+2*pi*kf*int_msg); %调频信号 phase=angle(hilbert(Sfm).*exp(-j*2*pi*fc*t)); %FM调制信号相位 phi=unwrap(phase); dem=(1/(2*pi*kf)*diff(phi)/ts); %求相位微分,得到消息信号 dem(length(t))=0; subplot(3,1,2) plot(t,dem); title('无噪声的解调信号') y1=awgn(Sfm,20,'measured'); %调制信号通过AWGN信道 y1(find(y1>1))=1; %调制信号限幅 y1(find(y1<-1))=-1; phase1=angle(hilbert(y1).*exp(-j*2*pi*fc*t)); %信号解调 phi1=unwrap(phase1); dem1=(1/(2*pi*kf)*diff(phi1)/ts); dem1(length(t))=0; subplot(3,1,3) plot(t,dem1); title('信噪比为20dB时的解调信号')

    转载请注明原文地址: https://ju.6miu.com/read-1202493.html
    最新回复(0)