DSB-AM调制<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
一. 原理与分析
在DSB-AM系统中,已调信号的幅度正比与消息信号。这种调制通过使用乘法器完成,将消息信号吗m(t)与载波Accos(2πfct),如图1所示,表示为:
u(t)=Acm(t)cos(2πfct) (1)
图 1 DSB-AM调制原理结构框图
其中
c(t)=Accos(2πfct) (2)
是载波,而m(t)是消息信号。若以单频正弦信号调制为例,那么典型波形如图3所示。
图 2 DSB-AM典型信号
现取u(t)的傅立叶变换,可以得到DSB-AM信号的频域表示为:
(3)
其中M(f)是m(t)的傅立叶变换。很明显可以看出,这种调制方式将消息信号的频谱进行了搬移,并在幅度上乘以Ac/2,传输带宽Br是消息信号带宽的两倍,也就是说:
Br=2W (4)
图3显示了一个典型的消息信号的频谱及其相对应的DSB-AM已调信号的频谱。
图 3 消息信号与DSB-AM已调信号的频谱
已调信号的功率为
(5)
其中Pm是消息信号的功率。在DSB-AM通信系统中,信噪比SNR等于基带的SNR,也就是:
(6)
其中PR是接收到的功率(在接收端已调信号的功率),N0是噪声功率谱密度(假定为白噪声),W是信号噪声的带宽。
二. MATLAB示例
例子1
定义一个消息信号m(t)为:
该消息使用DSB-AM方式进行传输,调制载波为c(t)=Accos(2πfct),调制后得到的信号为u(t),假设t0=0.15,fc=250HZ。
(1) 求m(t),c(t),u(t)信号的时域波形图与频谱图。
(2) 现在调制过程中又噪声加在已调信号上,所得到的SNR为20dB,求出噪声信号的时域与频域图和得到的调制信号时域与频域图。
解:
本题的MATLAB脚本语言如下:
%DSB_AM调制 %题1求解 clear all; clc; echo on t0 = 0.15; %定义信号持续时间 ts = 0.0001; %定义仿真时的信号采样率 fc = 250; %定义载波信号 snr = 20; %定义信噪比,单位dB fs = 1/ts; %采样频率 df = 0.2; %定义频谱分辩力 t = [0:ts:t0]; %时间矢量 snr_lin = 10^(snr/10); %线性的信噪比 %传输的信号 m = [ones(1,ceil(t0/(3*ts))),-2*ones(1,ceil(t0/(3*ts))),zeros(1,ceil(t0/(3*ts)+1))]; c = cos(2*pi*fc.*t); %载波 u = m.*c; %调制 [M,m,df1]=fftseq(m,ts,df); %传输的信号的频谱 M = M/fs; %频谱采样 [U,u,df1]=fftseq(u,ts,df); %调制信号频谱 U=U/fs; %频谱采样 [C,c,df]=fftseq(c,ts,df); %载波信号频谱 C = C/fs; %频率采样 %频谱矢量 f = [0:df1:df1*(length(m)-1)]-fs/2; %信号的功率 signal_power=spower(u(1:length(t))); %噪声的功率 noise_power=signal_power/snr_lin; %噪声的标准差 noise_std=sqrt(noise_power); %产生最后的噪声 n=noise_std*randn(1,length(u)); r=u+n; %将信号加到噪声上 [N,n,df1]=fftseq(n,ts,df); %对噪声进行fft N = N/fs; %频率采样 [R,r,df1]=fftseq(r,ts,df); %对最后的信号进行fft R = R/fs; %进行采样
%显示出没有噪声的情况 figure %显示第一张图片(第一题解) subplot(3,2,1) %消息信号时域显示 plot(t,m(1:length(t))) title('原始信号') axis([0 0.15 -3 3]) subplot(3,2,2) %消息信号频域显示 plot(f,abs(fftshift(M))) title('原始信号的频率') axis([-500 500 0 0.15]) subplot(3,2,3) %调制载波时域显示 plot(t,c(1:length(t))) title('载波信号') axis([0 0.15 -3 3]) subplot(3,2,4) %调制载波频域显示 plot(f,abs(fftshift(C))) title('载波的频率') axis([-500 500 0 0.15]) subplot(3,2,5) %调制信号时域显示 plot(t,u(1:length(t))) title('调制信号') axis([0 0.15 -3 3]) subplot(3,2,6) %调制信号频域显示 plot(f,abs(fftshift(U))) title('调制信号的频率') axis([-500 500 0 0.15])
%噪声分析 figure %显示第二章图片(第二题解) subplot(2,2,1) %噪声时域显示 plot(t,n(1:length(t))) title('采样的噪声') axis([0 0.15 -1 1]) subplot(2,2,2) %噪声频域显示 plot(f,abs(fftshift(N))) axis([-500 500 0 0.05]) title('信号频谱') subplot(2,2,3) %加噪调制信号时域显示 plot(t,r(1:length(t))) title('信号与噪声') axis([0 0.15 -3 3]) subplot(2,2,4) %加噪调制信号频域显示 plot(f,abs(fftshift(R))) title('信号与噪声') axis([-500 500 0 0.15])
|
最后得到的MATLAB图显示了题解:
图 4 没有噪声情况下的信号图示(题1解)
图 5 在噪声情况(SNR=20)下,信号图示(题2解)
文章评论(0条评论)
登录后参与讨论