模拟单边带调制和解调

更新时间:2023-04-21 09:12:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

模拟单边带调幅及解调

一.设计目的及意义

我们知道模拟信号调制有利于信号的传输,有利于信道的利用,可以用较少的信道传输较多的信息。信号调制由双边带调幅和单边带调幅两类,单边带调幅只传输频带幅度调制信号的一个边带,使用的带宽只有双边带调制信号的一半,具有更高的频率利用率,成为一种广泛使用的调制方式。对于双边带调制信号而言,则很难达到预期的效果,由此,寻求一种可靠及能在高质量的通信方式对于我们通信传输而言就显得很重要了。对比两种调制方式,单边带调制就具有稳定可靠,占用宽带少和传输距离远的特点。

二.设计原理

1..单边带调制原理

据我们所知,单边带调制中只传输双边带调制信号的一个边带。因此产生单边带信号的最直观的方式是让双边带信号通过一个单边带滤波器,滤除不要的边带,就可以得到单边带信号。这种方法就是滤波法,其频谱变换图如下:

当采用单频调制时假设有

调制信号 f(t)=Am*cos(wm*t) 载波信号 C(t)=cos(wc*t) 双边到调幅信号为

Sdsb=0.5*Am*cos(wc+wm)*t+0.5*Am*cos(wc-wm)*t 保留上边带的调幅信号

Susb=0.5*Am*(cos(wc*t)*cos(wm*t))-sin((wc*t)*sin(wm*t)) 保留下边带的调幅信号

Slsb=0.5*Am*(cos(wc*t)*cos(wm*t))+sin((wc*t)*sin(wm*t)) 根据以上信息,可以引出实现单边带调制的另一种方法,称为相移法,也叫希尔伯特变换法其上边带信号为

Susb=0.5*f(t)*cos(wc*t)-0.5*f^(t)*sin(wc*t) 使用这些信息可以实现单边带调幅。

2 .单边带信号的解调

单边带信号的解调一般采用的是相干解调的方式,如上所示单边带信号的时域表达式为: S(t)=0.5*f(t)*cos(wc*t)_+0.5*f^(t)*sin(wc*t) 乘上同频同相载波后:

S’=0.5*f(t)+0.5*f(t)*cos(2wc*t)_+0.5*f^(t)*sin(2wc*t) 经过低通滤波器后: Sd=0.5*f(t)

单边带解调的原理图如下图所示:

3.窗函法设计数字滤波器

窗函数法设计FIR数字滤波器是最为简单的,正确的选择窗函数可以提高设计数字滤波器的性能,在满足设计要求的情况下,减小FIR滤波器的阶数。常用的窗函数有以下几种:矩形窗, 三角窗(Bartlett)汉宁窗(Hanning)海明窗(Hamming)布拉克曼窗(Blackman)凯泽窗(Kaiser)

在这个设计中我依然使用了海明窗,其相应的程序如下:

N=512;

t=(0:1/fs:(N-1)/fs);

D=input('input the D(lvboqicanshu)='); fl=fm-100; fh=fm+100; fs=200000; wl=2*pi*fl/fs;

wh=2*pi*fh/fs;

window=hamming(D+1); h=fir1(D,[wl/pi wh/pi],window); figure(8) freqz(h,1,N); title ('滤波器');

三.详细的设计步骤

1用户数据设置

为了使调制过程中的参数可变,定义一些变量,用户可以在使用过程中,可以自己输入参数。要求调制信号的频率在300-3400HZ之间,载波频率大于调制信号频率,以便于观察。本次中采用数据如下:

Am=5,fm=2500,Ac=14,fc=10000,D=84

2使用matlab绘制调制信号和载波信号

用户输入调制信号幅度和频率(在300——3400HZ),输入载波信号幅度和频率,利用软件实现调制信号m=Am*cos(2*pi*fm*t)和载波信号c=Ac*cos(2*pi*fc*t),其波形图如下所示

上边带信号我在这里直接利用结论表示如下: b=Ac*sin(2*pi*fc*t);

Sussb=m.*c-imag(hilbert(m)).*b; 在MATLAB软件中所得波形如下所示:

3使用matlab产生高斯白噪声

所谓“高斯”噪声是指他的概率密度函数为正态分布,“白”噪声是之他的功率谱密度为均匀分布。在这部分,我遇到了问题,我不知道如何表达高斯白噪声,在查阅了一部分资料后,我发现可以使用如下函数来表示:

Snr=3;Zs=awgn(x,snr,‘measured’)

此函数功能为向信号x中添加信噪比为snr的高斯白噪声,上边带信号加噪声后的信号波形及其频谱波形如下图所示:

调制信号加噪声后波形及其频谱波形:

载波信号加噪声后的波形及其频谱波形:

SSB信号乘以一个同频同相的本地载波后的混频信号波形:

4 滤波器的设计,完成后滤波器时域波形和频域波形

5 解调后的信号时域波形和频域波形(右边为解调信号,左边为调制信号)

四.设计结果及分析

在本次设计中,我认为有两个重点,一个是单边信号的调制,另一个是解调。其中单边带信号是通过希尔伯特变换式得到的,在理论意义上是没有差错的,得到的图形也基本上是可以认为正确的。现在我们来对比解调后的信号与调制信号,正如上图所示。

解调出来的信号与调制信号之间有着较为明显的差异。在经过了反复的试验和推敲后,我始终不明白出错在哪里,在对程序反复推敲后修改后,我最终认为是窗函数设计造成滤波器的性能可能并不满足要求。但由于时间的不够和对窗函数法设计滤波器的知识不足,这部分一直没能修改成功。但从总体上来看,我以为还是达到了一定的设计要求的,另外,在频谱图上我们还是可以看出来这一点的。

五.心得体会

本次设计的要求是使用相关软件实现对信号的模拟单边带调制和解调,在完成程序的编写后输出相关的波形。在了解了相关的题目要求后,我首席那是按照题目的要求,将题目内容分为几个不同的模块,把不同的模块分层分区精心编写完成各自相应的功能,之后将各个模块联合起来实现题目要求。在完成程序的编写过程中我查阅了很多的资料,主要是与软件MATLAB编程相关的书记和网络资料,以便理清设计思路和设计步骤。然后再matlab软件上进行编写和波形输出,最终得出相应的结果和结论。

当然,在设计工程中我也遇到了很多的困难,比如相关函数的调用上我对matlab软件的库函数不是很了解,这些问题在查阅了相关的资料后最终也克服了,但是最让学生我感到困难的是滤波器的设计,这个一直是我的最大弱点,最终的结果也显示我在设计滤波器上依然是有所欠缺的。

查阅相关资料,清高在这方面比较厉害的同学,是我在遇到难题是最常用的方法。在这些动手学习和交流中,对于我的理论知识无疑有着巨大的帮助,在这之中所学到的知识会让人更加的记忆深刻吧。 六.参考文献

[1]张威.MATLAB基础与编程入门(第二版).西安电子科技大学出版社,2008 [2]程佩青.数字信号处理教程(第三版).清华大学出版社,2009 [3]曹志刚,钱亚生.现代通信原理.清华大学出版社.2010

七.附件

clear; clc;

Am=input('input the Am(tiaozhixinhaofudu)=');

fm=input('input the fm(tiaozhixinhaopinglv 300-3400)='); Ac=input('input the Ac(zaiboxinhaofudu)=');

fc=input('input the fc(zaiboxinhaopinglv fc>fm)='); fs=200000;

K=N-1;

t=(0:1/fs:K/fs);

m=Am*cos(2*pi*fm*t); figure(1) subplot(2,1,1);

plot(t,m);

title ('调制信号时域波形'); M=fft(m,N); x=(0:N/2-1)*fs/N; y=abs(M(1:N/2)); subplot(2,1,2); plot(x,y);

title ('调制信号频谱');

N=512;

t=(0:1/fs:(N-1)/fs); c=Ac*cos(2*pi*fc*t); figure(2) subplot(2,1,1);

plot(t,c);

title ('载波信号时域波形'); C=fft(c,N);

x1=(0:N/2-1)*fs/N; y1=abs(C(1:N/2)); subplot(2,1,2); plot(x,y);

title ('载波信号频谱');

N=512;

t=(0:1/fs:(N-1)/fs); b=Ac*sin(2*pi*fc*t);

Sussb=m.*c-imag(hilbert(m)).*b; figure(3)

subplot(2,1,1); plot(t,Sussb);

title ('上边带信号时域波形'); S=fft(Sussb,N); x2=(0:N/2-1)*fs/N; y2=abs(S(1:N/2)); subplot(2,1,2);

plot(x2,y2);

title ('上边带信号频谱');

t=(0:1/fs:(N-1)/fs); snr=3;

zs=awgn(Sussb,snr,'measured'); figure(4) subplot(2,1,1);

plot(t,zs);

title ('上边带信号加噪声波形'); Z=fft(zs,N); x3=(0:N/2-1)*fs/N; y3=abs(Z(1:N/2)); subplot(2,1,2);

plot(x3,y3);

title ('上边带加噪声信号频谱');

N=512;

t=(0:1/fs:(N-1)/fs); snr=3;

m1=awgn(m,snr,'measured'); figure(5) subplot(2,1,1);

plot(t,m1);

title ('调制信号加噪声波形'); M1=fft(m1,N); x4=(0:N/2-1)*fs/N; y4=abs(M1(1:N/2)); subplot(2,1,2);

plot(x4,y4);

title ('调制信号加噪声频谱');

N=512;

t=(0:1/fs:(N-1)/fs); snr=3;

c1=awgn(c,snr,'measured'); figure(6)

subplot(2,1,1);

plot(t,c1);

title('载波信号加噪声波形'); C1=fft(c1,N); x5=(0:N/2-1)*fs/N; y5=abs(c1(1:N/2));

subplot(2,1,2); plot(x5,y5);

title('载波信号加噪声频谱');

N=512;

t=(0:1/fs:(N-1)/fs); T=zs.*c; figure(7) subplot(2,1,1);

plot(t,T);

title ('下边带混频波形'); T1=fft(T,N); x6=(0:N/2-1)*fs/N; y6=abs(T1(1:N/2)); subplot(2,1,2);

plot(x6,y6);

title ('下边带混频频谱');

N=512;

t=(0:1/fs:(N-1)/fs);

D=input('input the D(lvboqicanshu)='); fl=fm; fh=fm+200; fs=200000;

wl=2*pi*fl/fs; wh=2*pi*fh/fs;

window=hamming(D+1);

h=fir1(D,[wl/pi wh/pi],window); figure(8) freqz(h,1,N); title ('滤波器'); m2=fftfilt(h,T); figure(9)

subplot(2,1,1); plot(t,m2);

title('解调信号波形'); M2=fft(m2,N); x7=(0:N/2-1)*fs/N; y7=abs(M2(1:N/2)); subplot(2,1,2); plot(x7,y7);

title('解调信号频谱')

本文来源:https://www.bwwdw.com/article/a5hq.html

Top