天天看点

Matlab在双边带调幅(DSB-SC)和解调的应用

调制和解调单边带调制和解调的方法有多种,其中最常用的是滤波法。用滤波法实现单边带调制,是分双边带信号形成和无用边带抑制两步完成的。双边带信号由平衡调制器形成。由于调制器的平衡作用,载频电平被抑制到很低。对无用边带的抑制,是由紧跟在平衡调制器后面的边带滤波器完成的。边带滤波器是一带通滤波器,若下边带为无用边带,则恰当地选择其中心频率和通带宽度,让上边带信号通过而抑制下边带。当需要形成多路独立边带信号时,就需要有相应数目的单边带信号产生器,它们具有不同的载频和不同中心频率的边带滤波器。然后把这些占有不同频段的单边带信号线性相加,便可得到多路独立边带信号。

  单边带信号的解调,除了载频全发送的兼容单边带和残留单边带可以用包络检波外,其他各类单边带的解调只能用单边带产生的相反过程来完成(图3b),即仍用平衡调制器完成单边带信号频谱向基带的平移,并通过紧跟在调制器后面的低通滤波器,提取有用的基带信号,抑制无用的边带信号。

  用滤波法产生和解调单边带信号,通常都在低于工作频率的低载频上进行。因此,在单边带产生器后和单边带解调器前有一个频率搬移部分,把单边带信号频谱从低载频搬移到工作频率,或相反。除滤波法外,还有相位补偿法和合成法可以在工作频率上直接产生单边带信号,但由于性能都不如滤波法,所以很少采用。

本设计的具体程序如下:

(1)利用matlab绘制已知信号f(t)

t=-2:0.001:2  %%信号f(t)

y1=sinc(t*200)

subplot(2,3,1),plot(t,y1) %画出原始信号

title('已知信号')

xlabel('时间:s')

ylabel('幅度')

grid

xlim([-0.1,0.1])

(2)利用matlab绘制已知信号f(t)的频谱

fs=3000 %%信号频谱

t1=-2:0.0001:2

y11=sinc(t1*200)

yk=fft(y11,50000)       %对信号做傅立叶变换

yw=2*pi/40000*abs(fftshift(yk))   %频谱搬移

fw=[-25000:24999]/50000*fs  

subplot(2,3,2),plot(fw,yw)

title('已知信号的频谱')

xlabel('频率:hz')

ylabel('幅度')

grid

xlim([-30,30])

(3)利用matlab绘制载波信号

y3=cos(2*pi*200*t) %%载波信号

subplot(2,3,3),plot(t,y3)

title('载波信号')

xlabel('时间:s')

ylabel('幅度')

grid

xlim([-0.1,0.1])

(4)利用matlab绘制已调信号

y4=sinc(t*200).*cos(2*pi*200*t) %%已调信号

subplot(2,3,4),plot(t,y4,'r-')

title('已调信号')

xlabel('时间:s')

ylabel('幅度')

grid

xlim([-0.05,0.05])

(5) 利用matlab绘制已调信号的频谱

fs1=1000  %已调信号频谱

yk=fft(y4,5000)         %对信号做傅立叶变换

yw=2*pi/4000*abs(fftshift(yk))    %频谱搬移

fw=[-2500:2499]/5000*fs1

subplot(2,3,5),plot(fw,yw,'r-')

title('已调信号的频谱')

xlabel('频率:hz')

ylabel('幅度')

grid

xlim([-400,400])

(6)利用matlab绘制DSB-SC调制信号的功率谱密度

[c,lags]=xcorr(y4,200) %%DSB信号自相关函数

Figure             %200表示自相关函数时间т

subplot(211)  

plot(lags/fs,c)

title('DSB信号自相关函数')

xlabel('t')

ylabel('Rxx(t)')

Grid

SDSBp=fft(c,5000) %%DSB功率谱

fw=[-2500:2499]/5000*fs1

yw=2*pi/4000*abs(fftshift(SDSBp))%频谱搬移

subplot(212)

plot(fw,yw)

title('DSB信号功率谱')

xlabel('w')

ylabel('Rxx(t)')

grid

(7)利用matlab绘制相干解调后的信号波形

y7=y4.*y3  %%解调信号

figure

subplot(211)

plot(t,y7)

title('解调信号')

xlabel('时间:s')

ylabel('幅度')

grid

xlim([-0.1,0.1])

Rp=0.1; %%滤波后的f(t)信号

Rs=80;                      %信号衰减幅度

Wp=40/100;                  %通带截止频率

Ws=45/100;                  %阻带截止频率,100为载波频率的一半

[n,Wn]=ellipord(Wp,Ws,Rp,Rs);   %阶数n

[b,a]=ellip(n,Rp,Rs,Wn);        %传递函数分子分母b,a

Xl=5*filter(b,a,y7);

figure;

subplot(211);

plot(t,Xl);

title('滤波后的f(t)信号');

xlabel('时间单位:s');

ylabel('幅度');

继续阅读