单边带调制MATLAB模拟仿真

  • 格式:doc
  • 大小:280.50 KB
  • 文档页数:7

4 单边带调制MATLAB模拟

To Imitate The Modulation of Single Side

Band with MATLAB

摘要:这篇文章介绍了使用MATLAB软件编制程序,以实现单边带信号的调制和解调。首先,利用相移法从双边带信号得到单边带信号,再编写MATLAB程序,使单边带信号得到调制和调解。分析调制前后的时域和频域波形图,以更加深入理解单边带信号的调制和解调的原理。

Abstract:This article introduces the way to modulate and demodulate the

single side band with the soft program from MATLAB . First, get the single

side band signal from the couple sides band , then wright the MATLAB

program to modulate and demodulate the signal. Analyze the pictures ,and

understand the theory furtherly.

关键词:单边带 调制和解调 MATLAB

Keywords:single side band , modulation and demodulation , MATLAB

一、 设计目的

本课程设计是实现单边带调幅和解调,在此次课程设计中,通过收集资料与分析,理解单边带调制与解调的具体过程和它在MATLAB中实现的方法。预期通过这个阶段的研习,更清楚地认识单边带解调原理,同时加深对MATLAB软件的操作熟练度,并在使用中感受MATLAB的应用方式与特色。通过对解调前后时域与频域波形图的比较,分析单边带调制与解调的作用。

二、 设计原理

单边带调制信号是将双边带信号中的一个边带滤掉而形成的。根据方法的不同,产生单边带调制信号的方法有:滤波和相移法。

由于滤波法在技术上比较难实现所以在此我们将用相移法对单边带调制与解调系统进行讨论与设计。

相移法和单边带调制信号的时域表示:

单边带调制信号的频域表示直观、简明,但其时域表示式的推导比较困难,需要借助尔伯特(Hilbert)变换来表达。为简单起见,我们以单频调制 为例,然后推广到一般情况。信号通过单边带调制信号调制器,会对载波和调制信号进行适当的相移,以便在合成过程中将其中的一个边带抵消而获得单边带调制信号。下图为单边带调制信号调制器的一般模型。

5 三、 设计过程

1.信号的产生

利用相移法来调制单边带调制信号,调制信号如下:

Fs=100000;%信号脉冲

t=[0:1/Fs:0.01];%一个脉冲的时间

y=cos(300*2*pi*t);%调制信号

yz=sin(300*2*pi*t);%调制信号的希尔伯特变换

图(2) 时域波形图 图(3) 频域波形图

6 载波为:C(t)= coswct

Fc=30000;%载波脉冲

c=cos(Fc*2*pi*t);%载波

b=sin(2*pi*Fc*t);%载波正弦变换

lssb=y.*c+yz.*b;%保留下边带信号

图(4) 载波信号余弦时域波形图

图(5) 载波信号正弦时域波形图

7 2.信号的调制

得到单边带信号后,在信号中加入高斯白噪声(此时设加入的高斯白噪声为大信噪比),得到加入噪声后的下边带信号:

yl=awgn(lssb,30);%调制信号加噪声

wsingle=fft(lssb);%其傅里叶变换

wsingle=abs(wsingle(l:length(wsingle)/2+1);%已调信号的频谱frqsingle=[0:length(wsingle)-1]*Fs/length(wsingle)/2;%已调信号的频谱W

图(6) 其时域波形 图(7) 其频域波形

3.信号的解调

因为单边带信号也是抑制载波的已调信号,它的包络不能直接反映调制信号的变化,所以,仍需采用相干解调。通过解调器后的信号如下图:

8 图(8) 其时域波形 图(9) 其频域波形

四、 程序代码

用MATLAB语言编写代码,并在MATLAB 工具里运行得到设计与仿真结果,编写代码如下:

Fs=100000;

t=[0:1/Fs:0.01];

y=cos(300*2*pi*t);%调制信号

yw=fft(y);

yw=abs(yw(1:length(yw)/2+1));

frqyw=[0:length(yw)-1]*Fs/length(yw)/2;

Fc=30000;

c=cos(Fc*2*pi*t);

b=sin(2*pi*Fc.*t);

lssb=y.*c+imag(hilbert(y)).*b;

y1=awgn(lssb,30); %调制信号加噪声

wsingle=fft(lssb);

wsingle=abs(wsingle(1:length(wsingle)/2+1));

frqsingle=[0:length(wsingle)-1]*Fs/length(wsingle)/2;

asingle=ademod(y1,Fc,Fs,'amssb'); %ssb解调

9 aa=fft(asingle);

aa=abs(aa(1:length(aa)/2+1));

frqaa=[0:length(aa)-1]*Fs/length(aa)/2; %解调信号频谱

figure(1)

subplot(1,2,1);

plot(t,y);grid on;

title('调制信号时域波形')

subplot(1,2,2);

plot(frqyw,yw); grid on;%调制信号频谱

title('调制信号频谱')

axis([0 1000 0 max(yw)]);

figure(2)

plot(t,lssb)

subplot(2,2,1)

plot(t,lssb);grid on;

title('下边带信号波形')

subplot(2,2,2);

plot(frqsingle,wsingle); %调制后频谱图

grid on;

title('下边带信号频谱')

subplot(2,2,3);

plot(t,asingle);

grid on;

title('解调后信号波形')

subplot(2,2,4);

plot(frqaa,aa);

grid on;

title('解调后信号频谱')

axis([0 3000 0 max(aa)]);

五、 设计心得

通过课程设计,我得到了很大的收获:通过对程序的设计,我进一步熟悉了MATLAB开发环境,对MATLAB的一些具体操作和应用有了更深入的了解。如:有要求的正弦信号的产生,基本图形的绘制和各种的函数的使用等。同时,这次设计我对数字信号处理和通信原理课本上学到的知识点有了更深入的理解和掌握。比如对

10 信号的调制和解调过程有了更深层的理解,学会了如何使用MATLAB对信号进行SSB调制和解调,了解了低通滤波器的MATLAB设计方法。还有很重要的一点是,我学会了如何安排设计所需的时间及合理利用网络资源等普遍实用的学习方法,通过和同学探讨,拓宽了我的眼界。

六、 参考文献

1. 孙祥,徐流美,吴清.MATLAB 7.0基础教程.北京:清华大学出版社2006。

2. 王兴亮.数字通信原理与技术.[M]西安电子科技大学出版社。

3. 孙学军,王秉钧.通信原理.电子工业出版社,2005。

4. 曹志刚,钱亚生.现代通信原理.[M]清华大学出版社。

5. 余成波. 数字信号处理及其MATLAB实现 . 清华大学出版社,1995