当前位置:文档之家› ASK调制解调通信系统

ASK调制解调通信系统

信号与通信系统课程设计说明书题目:设计ASK调制解调通信系统系部:信息与控制工程学院专业:电子信息工程班级:XXXX级X班学生姓名: XXX 学号: XXXXXXXXXX 指导教师:XXX2018年6月12 日目录1 设计任务与要求 (2)1.1 设计任务 (2)1.2 设计要求 (2)2 设计方法与内容 (3)2.1 MATLAB简介 (3)2.2 ASK信号调制原理 (3)2.3 ASK解调原理 (4)3 仿真实现过程 (5)3.1 ASK信号的产生 (5)3.2 载波信号波形 (5)3.3 ASK调制解调实现 (6)3.4 叠加噪声的ASK调制解调 (7)4 结论 (10)5 附录 (11)参考文献 (18)1 设计任务与要求1.1 设计任务1.根据题目查阅有关资料,掌握数字带通调制技术。

2.学习MATLAB软件,掌握MATLAB各种函数的使用。

3.据数字带通调制原理,运行MATLAB进行编辑,仿真调制过程,记录并分析仿真结果。

1.2 设计要求1.掌握ASK调制解调原理2.绘制出ASK信号解调前后在时域和频域中的波形,观察解调前后频谱的变化理解ASK信号解调原理。

2 设计方法与内容2.1 MATLAB简介Matlab是MathWorks公司于1982年推出的一套高性能的数值计算和可视化软件。

它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便、界面良好的用户环境。

它还包括了Toolbox(工具箱)的各类问题的求解工具,可用来求解特定学科的问题。

其特点是:(1) 可扩展性:Matlab最重要的特点是易于扩展,它允许用户自行建立指定功能的M文件。

对于一个从事特定领域的工程师来说,不仅可利用Matlab所提供的函数及基本工具箱函数,还可方便地构造出专用的函数。

从而大大扩展了其应用范围。

当前支持Matlab的商用Toolbox(工具箱)有数百种之多。

而由个人开发的Toolbox则不可计数。

(2) 易学易用性:Matlab不需要用户有高深的数学知识和程序设计能力,不需要用户深刻了解算法及编程技巧。

(3) 高效性:Matlab语句功能十分强大,一条语句可完成十分复杂的任务。

如fft语句可完成对指定数据的快速傅里叶变换,这相当于上百条C语言语句的功能。

它大大加快了工程技术人员从事软件开发的效率。

2.2 ASK信号调制原理数字信号对载波信号的振幅调制称为振幅键控,即ASK(Amplitude Shift Keying)。

2ASK就是调制信号为二进制数字基带信号时的振幅键控。

简单的说,振幅键控就是利用载波的幅度变化来传递数字信息,而其频率和初始相位保持不变。

在2ASK中,载波的幅度只有两种变化状态,分别对应二进制信息的“0”或“1”。

2ASK已调信号可表示为e 0 = s(t) cosωct式中,ωc为载波角频率,s(t)为单极性NRZ矩形脉冲序列s(t) =Σan g(t-n Ts)其中,g(t)是持续时间为Ts、高度为1的矩形脉冲,an为二进制数字1,出现概率为pa n={0,出现概率为1−p2.3 ASK 解调原理2ASK/OOK 信号有两种基本的解调方法:非相干解调(包络检波法)和相干解调(同步检测法)。

本课程设计要求的是相干解调,如图2-1:)(2t e ASK图2-1相干解调带通滤波器 相乘器 低通滤波器 抽样判决器定时脉冲 输出3 仿真实现过程3.1 ASK信号的产生图3-1二进制基带信号时域谱和频域谱先将源程序创建M文件,自定义路径;编写语句x=ceil(rand(1,100000)-0.5) 生成一段随机的二进制基带信号,其中rand产生随机矩阵,ceil为取整函数;再编写语句FFT1=fft(x,128); FFT1=abs(FFT1)对随机序列进行傅里叶变换并取绝对值。

其时域谱和频域谱如图3-1。

3.2 载波信号波形图3-2载波信号时域谱和频域谱在调制解调系统中,载波信号的频率一般要大于信号源的频率。

信号源频率为12 Hz,所以将载波频率设置为36 Hz,编写正弦函数carry=cos(2*pi*Fc*t)并进行频域转换FFT2=fft(carry,256); FFT2=abs(FFT2)。

其时域谱和频域谱如图3-2。

3.3 ASK调制解调实现编写数字带通调制函数y=dmod(x,Fc,Fd,Fs,'ask',2)进行2ASK调制,其中x为输入信号,Fc为载波频率,Fd为码速率,Fs为采样频率,Fs/Fd必须是一个正整数。

再进行频域转换FFT3=fft(y,256); FFT3=abs(FFT3),其时域谱和频域谱如图3-3:图3-3已调信号时域谱和频域谱图3-4解调信号解调时域谱和频域谱编写数字带通调制函数z=ddemod(y,Fc,Fd,Fs,'ask',2)进行2ASK解调,其中x为输入信号,Fc为载波频率,Fd为码速率,Fs为采样频率。

再进行频域转换FFT4=fft(z,64); FFT4=abs(FFT4),由于调制到解调的信道中没有加入噪声,所以调制前信号(即原始信号)与调制后信号相同,其时域谱和频域谱如图3-4。

3.4 叠加噪声的ASK调制解调图3-5叠加小噪声调制信号时域谱和频域谱图3-6叠加大噪声调制信号时域谱和频域谱由于信道中的噪声是叠加在信号上的,噪声始终是存在的,通常称它为加性噪声或加性干扰。

对已调信号y分别叠加高斯小噪声(信噪比为6)和大噪声(信噪比为-2)则编写Ynt1=awgn(y,6);Ynt2=awgn(y,-2)并进行频域转换,其时域谱和频域谱分别如图3-5和图3-6。

图3-7叠加小噪声解调信号时域谱和频域谱图3-8叠加大噪声解调信号时域谱和频域谱对小噪声Ynt1和大噪声信号Ynt2分别解调,编写数字带通调制函数z1=ddemod(Ynt1,Fc,Fd,Fs,'ask',2);z2=ddemod(Ynt2,Fc,Fd,Fs,'ask',2);并进行频域转换,其时域谱和频域谱如分别如图3-7和图3-8。

图3-9误差数和误差率误码率是衡量一个数字通信系统性能的重要指标。

在信道高斯白噪声的干扰下,二进制2ASK数字调制误码率取决于解调器输入信噪比,编写误码率函数[br,Pe1]=symerr(x,z1);[br,Pe2]=symerr(x,z2),其中br为符号误差数,Pe1为符号误差率。

绘制如图3-9。

调用函数semilogy(SNR,Pe);绘制信噪比与误码率的关系曲线如图3-10,由此可得出:与无噪声时(误码率为零)相比较,当信噪比较大时,噪声小误码率低;反之,信噪比较小时噪声大误码率高。

4 结论通过此次的课程设计,使我收获了很多。

不仅让我对专业方面的知识认识更加深刻,同时也掌握了学习方法,懂得了无论做什么事,都要先弄懂原理,从根本出发,将一切问题分块分部解决的方法。

让我今后都受益颇深。

在本次课程设计的过程中,也遇到了很多问题和难点。

比如说当我做到解调部分的时候,程序都写完了,但就是波形出不来。

不能够正确的仿真出波形和原信号。

这让我很头疼,调了好久也没有输出。

最后,通过上网搜索资料,并且与同学们一起讨论研究。

终于一点点发现了问题,最后调出了波形。

虽然过程很坎坷,但结果却令人欣慰。

我觉得在这次的课程设计中,收获的不仅是我们自己的方面,更多的也有团队的合作和与别人的交流和沟通。

这让我们能够更好的与别人分享和交流,为我们在今后的学习和工作道路上都有所帮助。

5 附录%程序名称:ASK.m%程序功能:ASK解调解调程序代码clc; %清除命令工作窗里的内容clear;%清除内存空间变量%产生二进制随机序列x=ceil(rand(1,100000)-0.5)%产生二进制随机序列并取大于x 的最小整数figure(1)%窗口1,包含时域谱和频域谱subplot(2,1,1)%分块图函数subplot,图形窗口分成2块子窗口的第1个图像stairs(x);%第2个图像xlabel('时间t');%x轴标注ylabel('序列值');%y轴标注title('二进制随机序列');%添加图像标题axis([1 21 -1 2])%控制坐标轴的范围grid on%图像中添加栅格%对随机序列进行频谱分析FFT1=fft(x,128); %对随机序列进行傅里叶变换FFT1=abs(FFT1);%对傅里叶变换取绝对值figure(1)subplot(2,1,2)%第2个图像plot(FFT1);xlabel('频率f');ylabel('幅度FFT1');title('随机序列频谱');axis([0 128 0 50])grid on%载波信号t=1/360:1/360:20; %载波时间范围Fc=36;%载波频率carry=cos(2*pi*Fc*t); %正弦载波信号figure(2)%窗口2,包含时域谱和频域谱subplot(2,1,1)plot(carry);xlabel('时间t');ylabel('幅度carry');title('载波信号');axis([1 600 -2 2])grid on%对载波信号进行频谱分析FFT2=fft(carry,256); %对载波信号进行傅里叶变换FFT2=abs(FFT2);%对傅里叶变换取绝对值figure(2)subplot(2,1,2)plot(FFT2);xlabel('频率f');ylabel('幅度FFT2');title('载波信号频谱');axis([0 256 0 100])grid on%ASK的调制Fd=12;%Fd为码速率,Fs为采样频率Fs=360;y=dmod(x,Fc,Fd,Fs,'ask',2);%调用数字带通调制函数dmod进行2ASK调制for i=1:20if x(i)==0yy(30*(i-1)+1:30*i)=0;elseyy(30*(i-1)+1:30*i)=y(30*(i-1)+1:30*i);endend%对20个随机码元进行判别,若码元为0则该码元周期内调制信号为零figure(3)subplot(2,1,1)ylabel('幅度y');title('已调信号');axis([1 600 -2 2])grid on%对已调信号进行频谱分析FFT3=fft(y,256); %对已调信号进行傅里叶变换FFT3=abs(FFT3);%对傅里叶变换取绝对值figure(3)subplot(2,1,2)plot(FFT3);xlabel('频率f');ylabel('幅度FFT3');title('已调信号频谱');axis([0 256 0 50])grid on%ASK的解调z=ddemod(y,Fc,Fd,Fs,'ask',2); %调用数字带通调制函数dmod进行2ASK解调figure(4)%对傅里叶变换取绝对值subplot(2,1,1)stairs(z);xlabel('时间t');ylabel('幅度z');title('解调信号');axis([1 21 -1 2])grid on%对解调信号进行频谱分析FFT4=fft(z,64); %对解调信号进行傅里叶变换FFT4=abs(FFT4);%对傅里叶变换取绝对值figure(4)subplot(2,1,2)plot(FFT4);ylabel('幅度FFT4');title('解调信号频谱');axis([0 64 0 50])grid on%加入高斯小噪声,SNR为6Ynt1=awgn(y,6);%加入高斯小噪声,信噪比为6figure(5)subplot(2,1,1)plot(Ynt1);xlabel('时间t');ylabel('幅度Ynt1');title('加小噪声信号');axis([1 600 -2 2])grid on%对加小噪声信号进行频谱分析FFT5=fft(Ynt1,256); %对加入小噪声的调制信号进行傅里叶变换FFT5=abs(FFT5);%对傅里叶变换取绝对值figure(5)subplot(2,1,2)plot(FFT5);xlabel('频率f');ylabel('幅度FFT5');title('加小噪声信号频谱')axis([0 256 0 50])grid on%ASK加小噪声信号的解调及误码率z1=ddemod(Ynt1,Fc,Fd,Fs,'ask',2);%调用数字带通调制函数dmod对加小噪声信号进行解调[br,Pe1]=symerr(x,z1)%对解调后加小噪声信号误码分析,br为符号误差数,Pe1为符号误差率figure(6)stairs(z1);xlabel('时间t');ylabel('幅度z1');title('加小噪声解调信号');axis([1 21 -1 2])grid on%对加小噪声解调信号进行频谱分析FFT6=fft(z1,64); %对加入小噪声的解调信号进行傅里叶变换FFT6=abs(FFT6);%对傅里叶变换取绝对值figure(6)subplot(2,1,2)plot(FFT6);xlabel('频率f');ylabel('幅度FFT6');title('加小噪声解调信号频谱');axis([0 64 0 50])grid on%加入高斯大噪声,SNR为-2Ynt2=awgn(y,3);%加入高斯大噪声,信噪比为-2 figure(7)subplot(2,1,1)plot(Ynt2);xlabel('时间t');ylabel('幅度Ynt2');title('加大噪声信号');axis([1 600 -2 2])grid on%对加大噪声信号进行频谱分析FFT7=fft(Ynt2,256); %对加入大噪声的调制信号进行傅里叶变换FFT7=abs(FFT7);%对傅里叶变换取绝对值figure(7)subplot(2,1,2)xlabel('频率f');ylabel('幅度FFT5');title('加大噪声信号频谱')axis([0 256 0 50])grid on%ASK加大噪声信号的解调及误码率z2=ddemod(Ynt2,Fc,Fd,Fs,'ask',2);%调用数字带通调制函数dmod对加大噪声信号进行解调[br,Pe2]=symerr(x,z2)%对解调后加大噪声信号误码分析,br为符号误差数,Pe1为符号误差率figure(8)subplot(2,1,1)stairs(z2);xlabel('时间t');ylabel('幅度z2');title('加大噪声解调信号');axis([1 21 -1 2])grid on%对加大噪声解调信号进行频谱分析FFT8=fft(z2,64); %对加入大噪声的解调信号进行傅里叶变换FFT8=abs(FFT8);%对傅里叶变换取绝对值figure(8)subplot(2,1,2)plot(FFT8);xlabel('频率f');ylabel('幅度FFT6');title('加大噪声解调信号频谱');axis([0 64 0 50])grid on%误码分析SNR=-10:10for i=1:length(SNR);Ynt3=awgn(y,SNR(i));%加入高斯小噪声,信噪比从-10dB到10dBZ=ddemod(Ynt3,Fc,Fd,Fs,'ask',2);%调用数字带通解调函数ddemod对加噪声信号进行解调[br, Pe(i)]=symerr(x,Z);%对解调后加大噪声信号误码分析,br为符号误差数,Pe(i)为符号误差率endfigure(9)semilogy(SNR,Pe);% 调用semilogy函数绘制信噪比与误码率的关系曲线xlabel('信噪比SNR(r/dB)');ylabel('误码率Pe');title('信噪比与误码率的关系');axis([-10 10 0 1])grid on参考文献[1] 樊昌信,曹丽娜. 通信原理. 北京:国防工业出版社,2012.[2] 黄文梅,熊桂林,杨勇. 信号分析与处理—MATLAB语言及应用. 长沙:国防科技大学出版社,2000.[3] 唐向宏岳恒立,郑雪峰. MATLAB及在电子信息类课程中的应用. 北京:电子工业出版社,2006,8.[4] 邓华. MATLAB通信仿真及应用实例详解. 人民邮电出版社,2003.信号与通信系统课程设计成绩评定表。

相关主题