版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信号工程专业综合课程设计目录目录 .1 幅度调制( MASK)仿真 . .01.1题目内涵及仿真函数说明 .01.1.1画频谱函数 . .01.1.2MASK调制解调(相干解调 +包络检测) .11.1.3仿真及效果图 . .21.2小结.52 频率调制( MFSK)仿真 . .62.1题目内涵及仿真函数说明 .62.1.1画频谱函数 . .62.1.2MFSK调制解调(相干解调 +包络检测) .62.1.3仿真及效果图 . .82.2小结.103 正交幅度( QAM)调制仿真 . .113.1题目内涵及仿真函数说明 .113.2测试代码及仿真结果 .113.3小结.134 RS码 +交织码
2、+卷积码 +64QAM仿真 . .144.1题目内涵及仿真函数说明 .144.2授课教师教学用的 Demo.154.2.1伽罗华域到 Matlab 转换函数 . .154.2.264QAM调制的误码率曲线 .164.2.3卷积码和 64QAM的误码率曲线 . .164.2.4RS码和 64QAM的误码率曲线 .174.2.5RS码、交织码、卷积码、 64QAM综合 . .184.2.6综合测试代码及效果图 . .204.3小结.235 频分复用( FDMA)仿真 . .255.1题目内涵及仿真函数说明 .255.2授课教师教学用的 Demo.255.2.1画频谱函数 . .255.2.2FDM
3、A仿真函数 .265.2.3仿真效果图 . .28- -信号工程专业综合课程设计5.3小结.346 信号的分解(分析)和综合(合成) . .356.1题目内涵及仿真函数说明 .356.2授课教师教学用的 Demo及仿真效果图 .376.3小结.427 信号的综合(合成)和分解(分析) . .447.1题目内涵及说明 .447.2授课教师教学用的 Demo及仿真效果图 .457.3小结.488 正交频分复用( OFDM)仿真 . .498.1题目内涵及说明 .498.2授课教师教学用的 Demo.498.2.1OFDM仿真(一) .498.2.2OFDM仿真(二) .508.2.3综合测试代码及
4、效果图 . .518.3小结.529 小波函数、尺度函数以及频谱 . .539.1小波和尺度函数 .539.2小波和尺度函数的频谱 .5310 小波用于信号分解、合成 .5710.1最简单的例子 .5710.2信号小波分解后合成(保持不变) .5810.3信号小波合成后分解(保持不变) .59-I-信号工程专业综合课程设计1 幅度调制( MASK)仿真1.1 题目内涵及仿真函数说明第一次 高阶调制的原理与仿真(1,2,3 )一,实验原理一,实验过程与代码编写二,仿真结果分析第二次 频分复用原理与仿真(5,8 )一,实验原理三,实验过程与代码编写四,仿真结果分析第三次 编码调制下的通信仿真(4)
5、一,实验原理五,实验过程与代码编写六,仿真结果分析1.1.1 画频谱函数function plotspec(x,Ts)N=length(x);%lengthof thesignalxt=Ts*(1:N);%definea timevectorssf=(-N/2:N/2-1)/(Ts*N);% frequency vectorfx=fft(x(1:N);% do DFT/FFTfxs=fftshift(fx);% shift it forplottingsubplot(2,1,1), plot(t,x)% plot the waveformxlabel('seconds'); y
6、label('amplitude')% label the axessubplot(2,1,2), plot(ssf,abs(fxs)% plot magnitudespectrum-0-信号工程专业综合课程设计xlabel('frequency'); ylabel('magnitude')% label the axes1.1.2 MASK调制解调(相干解调+包络检测)clear;clc;clear;clc;msg = randint(1,20,0,1);index = find(msg=0);msg(index) = -1;p = hammi
7、ng(100); base = ;for i = 1:length(msg) base = base msg(i)*p'endfigure;plotspec(base,1/2000);len= length(base);Fs = 2000;T = 1/Fs;t = 0:T:(len-1)*T;carrier = cos(2*pi*200*t);b=fir1(200,0.05,'low');send= (1+base).*carrier;figure;plotspec(send,T);receive = awgn(send,200);%解调方法一,相干解调temp = r
8、eceive.*carrier;figure;plotspec(temp,T);temp = filter(b,1,temp);figure;subplot(311);plot(base);title('信息信号 ');subplot(312);plot(receive); title('调制后信号 ');subplot(313);plot(temp);title('相干解调后信号 ');-1-信号工程专业综合课程设计%解调方法二,包络检测%先绝对值,后低通滤波器,本质就是求包络检测figure;envv=filter(b,1,abs(recei
9、ve);subplot(311);plot(base);title('信息信号 ');subplot(312);plot(receive); title('解调后信号 ');subplot(313);plot(envv);title('包络检测后信号 ');1.1.3 仿真及效果图调制后信号(时域 +频域)21edutilp0ma-1-200.10.20.30.40.50.60.70.80.91seconds1500ed1000utingam5000-1000-800-600-400-20002004006008001000frequency-2
10、-信号工程专业综合课程设计相干解调中间环节信号载波相乘但是没有低通滤波信号相干解调-3-信号工程专业综合课程设计包络解调-4-信号工程专业综合课程设计信息信号10-10200400600800100012001400160018002000调制后信号20-20200400600800100012001400160018002000相干解调后信号10-102004006008001000120014001600180020001.2 小结本题目由于-5-信号工程专业综合课程设计2 频率调制( MFSK)仿真2.1 题目内涵及仿真函数说明2.1.1 画频谱函数function plotspec(x
11、,Ts)N=length(x);%lengthof thesignalxt=Ts*(1:N);%definea timevectorssf=(-N/2:N/2-1)/(Ts*N);% frequency vectorfx=fft(x(1:N);% do DFT/FFTfxs=fftshift(fx);% shift it forplottingsubplot(2,1,1), plot(t,x)% plot the waveformxlabel('seconds'); ylabel('amplitude')% label the axessubplot(2,1,2
12、), plot(ssf,abs(fxs)% plot magnitudespectrumxlabel('frequency'); ylabel('magnitude')% label the axes2.1.2 MFSK调制解调(相干解调+包络检测)clear;clc;Fs = 2000;T = 1/Fs;t = 0:T:1-T;b = fir1(200,0.05,'low');-6-信号工程专业综合课程设计carrier1 = cos(2*pi*150*t);carrier2 = cos(2*pi*350*t);msg = randint(1,
13、20,0,1);send = ;for i = 1:length(msg)if msg(i)=0send = send carrier1;elsesend = send carrier2;endendfigure;plotspec(send,T);%非相关解调 - 先低通滤波、包络检查、抽取b1 = fir1(200,0.2,'low');b2 = fir1(200,0.3 0.4,'band');a0 = filter(b1,1,send);a1 = filter(b2,1,send);subplot(311);stem(msg)subplot(312);pl
14、ot(a0)subplot(313);plot(a1)a0 = filter(b,1,abs(a0);a1 = filter(b,1,abs(a1);figure;subplot(311);stem(msg)subplot(312);plot(a0)subplot(313);plot(a1)%相关解调 - 和载波做乘法、滤波器、len = length(send);t = 0:T:(len-1)*T;-7-信号工程专业综合课程设计aa0 = send.*cos(2*pi*350*t);aa1 = send.*cos(2*pi*350*t);11aa0 = filter(b,1,aa0);.5a
15、a1 = filter(b,1,aa1);0.5024681012141618200figure;plotspec(aa0,T);468101214161820202figure;plotspec(aa0,T);20figure;0-20.511.522.533.540subplot(311);stem(msg)-2.511.522.533.54x 10 4subplot(312);plot(aa0)24subplot(313);plot(aa1)x 102002.1.3 仿真及效果图-20.511.522.533.540-20.511.522.533.540x 10 44x 100.60.4
16、edutilp0.2ma0-0.202468101214161820seconds15000ed10000utingam50000-1000-800-600-400-20002004006008001000frequency-8-信号工程专业综合课程设计10.502468101214161820020-20.511.522.533.5404x 1020-20.511.522.533.5404x 1010.502468101214161820010-10.511.522.533.5404x 1010-10.511.522.533.5404x 10-9-信号工程专业综合课程设计2.2 小结本题目由
17、于-10-信号工程专业综合课程设计3 正交幅度( QAM)调制仿真3.1 题目内涵及仿真函数说明function rat = qam8(snr)a = sqrt(-1);aa = 1+a 1-a 2+a 2-a -1+a -1-a -2+a -2-a len = 1000;msg = randint(1,len,0 7); code = zeros(1,len);%scatterplot(code)for i = 1:lencode(i) = aa(msg(i)+1);endcode = awgn(code,snr);temp = zeros(1,8);for i = 1:lenfor j =
18、 1:8temp(j) = abs(code(i)-aa(j);endv,index = find(temp = min(temp);code(i) = index-1;endnum,rat = biterr(msg,code);3.2 测试代码及仿真结果clear;clc;-11-信号工程专业综合课程设计SNR = 0:2:20for i = 1:length(SNR)rat(i)=qam8(SNR(i);endplot(SNR,rat,'r*-')-12-信号工程专业综合课程设计0.120.10.080.060.040.020024681012141618203.3 小结本
19、题目由于-13-信号工程专业综合课程设计4RS码 +交织码 +卷积码 +64QAM仿真4.1 题目内涵及仿真函数说明通信系统从信息工程专业的角度看, 在理论方面只有信息处理和信号处理两个主要内容, 本题目主要是解决信息处理的。RS 码+交织码 +卷积码这种编码方案是教科书上基本没有讲述,但是在工程实践中确实还有应用的。 例如现在的卫星通信系统使用这种编码方案, 同时,欧洲数字电视系统也使用这个编码方案,可以预见的 4G时代,也会实用这种编码方案和 OFDM联合的整体解决方案,至于会不会实用 MIMO,倒反而是一个未知数, 这个在 Matlab 中有现成的 Simulink 仿真。本题目完成的系
20、统框图如下:RS交织卷积QAM编码编码编码调制信道模型RS交织卷积QAM解码解码解码解调通过调用 Matlab 内嵌函数实现如下几个功能:画没有使用任何编码方案的时候,只有 64QAM调制解调的误码率曲线;画卷积码 +64QAM调制解调的误码率曲线;画 RS码+64QAM调制解调的误码率曲线;画卷积码 +交织码 +卷积码 +64QAM调制解调的误码率-14-信号工程专业综合课程设计曲线;通过这个题目的实践和自己动手操作, 希望达到如下的目地:对编码理论有一个很深刻的感性认识,具体通过一些列的误码率曲线图来实现;例如,我们会发现,实用编码方案的 64QAM调制解调方案比没有实用的要好。对编码理论
21、有一个有事实依据的理性认知,例如使用了编码效率高的编码方案比在误码率方面,没有编码效率低的好,等等本课题也一些遗憾,具体如下:RS码的译码方案我(梁维海)理解其原理,但是,不调用 Matlab 内嵌函数,自己仿真现在没有能力完成,故这个题目的Demo完全实用 Matlab 的内嵌函数完成,如果大家对卷积码的编解码的不调用内嵌函数实现有兴趣,可以参考信息论与编码课程设计有关内容;本题目提供的 DEMO,全部都是在 Matlab7.0+ 中实现的 , 具 体 我 也 不 知 道 , 应 该 是 在 Matlab7.9 (Matlab2010 )中实现的。4.2 授课教师教学用的Demo4.2.1
22、伽罗华域到Matlab 转换函数本函数实现伽罗华域数到 Matlab 数的转换,如果对 Matlab 的有关伽罗华域函数很熟悉的话,这个函数没有必要存在,也可以这么说,如果我对伽罗华域函数很熟悉的话,这个 Demo的函数可以进一步的优化、简化。function R = gf2mat(D,m)x = gf(1,zeros(1,length(D)-1),m);-15-信号工程专业综合课程设计R = double(D.x);4.2.2 64QAM调制的误码率曲线本函数输入就是一个信噪比,输出就是误码率,通过这个函数,就可以实现 64QAM调制解调的误码率曲线图的绘制。代码具体如下:function
23、num,rat = QAM64(SNR)mod= modem.qammod(64);demod= modem.qamdemod(mod);backup = 2;for j = 1:backupmsg= randint(1,23100,0,63);code= modulate(mod,msg);code= awgn(code,SNR);code= demodulate(demod,code);errNum(j),errRat(j) = biterr(msg,code);endnum = round(sum(errNum)/backup);rat = sum(errRat)/backup;4.2.
24、3 卷积码和64QAM的误码率曲线本函数输入就是一个信噪比和一个卷积码的“网格” ,输出就是误码率, 通过这个函数,就可以实现卷积码 +64QAM 调制解调的误码率曲线图的绘制。 这里隐含一个逻辑就是任何一个卷积码都一个唯一的网格相会对应,通过这个函数,可以绘制不同卷积码的不同的误码率曲线。代码具体如下:function num,rat = Conv_AND_QAM64(trel,tblen,SNR)%卷积码的本质就是网格和tblen ,其可以完成编码和译码;-16-信号工程专业综合课程设计%常见的网格和tblen如下:%trel = poly2trellis(7,171 133 155);
25、tblen = 48;%trel = poly2trellis(7,171 133); tblen = 48;%trel = poly2trellis(5 4,23 35 0;0 5 13);tblen = 34;%n表示输入码元个数, k 表示输出码元个数,例如, n 1,k 2,表示码率 1/2n = log2(trel.numInputSymbols); k = log2(trel.numOutputSymbols);mod= modem.qammod(64);demod= modem.qamdemod(mod);backup = 2;for i = 1:backupmsg= randi
26、nt(n*10000*6,1);code= convenc(msg,trel);code= reshape(code,length(code)/6,6);code= bi2de(code);code= modulate(mod,code);code= awgn(code,SNR);code= demodulate(demod,code);code= de2bi(code,6);code= reshape(code,k*10000*6,1);code= vitdec(code,trel,tblen,'cont','hard');N(i),R(i) =biterr(
27、code(n*tblen+1:end),msg(1:end-n*tblen);endnum = round(sum(N)/backup);rat = sum(R)/backup;4.2.4 RS码和 64QAM的误码率曲线本函数输入就是一个信噪比和 RS码有关的 (n,k), (n,k) 的具体含义, 可以参考代码的注释。 输出就是误码率, 通过这个函数,就可以实现 RS码+64QAM调制解调的误码率曲线图的绘制。-17-信号工程专业综合课程设计代码具体如下:function num,rat = RS_AND_QAM64(n,k,SNR)%n为编码后的码长度,k 为信息码的长度,这个很简单,没
28、有必要多么的复杂%n,k 的选取可以很随意的,但是,由于这里是QAM64,所以,这里的n 的选取要小于64。m = 6;mod= modem.qammod(64);demod= modem.qamdemod(mod);backup = 4;for j = 1:backupmsg= randint(200,k,0,63);code= gf(msg,m);code= rsenc(code,n,k);code= gf2mat(code,m);code= modulate(mod,code);code= awgn(code,SNR);code= demodulate(demod,code);code=
29、 gf(code,m);code= rsdec(code,n,k);code= gf2mat(code,m);N(j),R(j) = biterr(msg,code);endnum = round(sum(N)/backup);rat = sum(R)/backup;4.2.5 RS码、交织码、卷积码、64QAM综合这个函数是 RS 码+交织码 +卷积码 +64QAM综合的误码率,如果上面的函数都能理解了, 这个理解也很容易。 具体的就不多解释了。代码具体如下:function num,rat = RS_Conv_QAM64(SNR)trel= poly2trellis(7,171 133);
30、-18-信号工程专业综合课程设计tblen= 48;mod= modem.qammod(64);demod = modem.qamdemod(mod);%信源msg= randint(100,24,64);%RS编码msg= gf(msg,6);%100*24code= rsenc(msg,34,24);%100*34code = gf2mat(code,6);%100*34%Conv编码code = de2bi(code,6);%100*34*6code = reshape(code,length(code)*6,1);code = convenc(code,trel);%100*34*6*
31、2code = reshape(code,length(code)/6,6);%100*68*6code = bi2de(code);%100*68%调制、信道、解调code = modulate(mod,code);code = awgn(code,SNR);code = demodulate(demod,code);%Conv解码code = de2bi(code,6);%10000*68*6temp= size(code);code= reshape(code,temp(1)*temp(2),1);code= vitdec(code,trel,tblen,'cont',&
32、#39;hard');code= reshape(code,length(code)/6,6);code= bi2de(code);code= reshape(code,length(code)/34,34);%RS解码code = gf(code,6);code = rsdec(code,34,24);code = gf2mat(code,6);-19-信号工程专业综合课程设计msg = gf2mat(msg,6);%统计误码率num,rat = biterr(code(tblen+1:end),msg(1:end-tblen);temp = msg - code;4.2.6 综合测
33、试代码及效果图下面代码的运行会绘制一个图形,上面的三条曲线,分别是( 1)单纯的 64QAM调制解调( 2)64QAM+卷积码 1(3)64QAM+卷积码 2 的曲线。其中卷积码 1 和卷积码 2 都来源于 Matlab 现成的 Demo,其网格想见代码或者结构图。clear;clc;trel1 = poly2trellis(7,171 133); tblen1 = 48;trel2 = poly2trellis(5 4,23 35 0;0 5 13);tblen2 = 34;SNR= 1:0.5:8;for i = 1:length(SNR)num0(i),rat0(i) = QAM64(S
34、NR(i);num1(i),rat1(i) =Conv_AND_QAM64(trel1,tblen1,SNR(i); %rat = 1/2num2(i),rat2(i) =Conv_AND_QAM64(trel2,tblen2,SNR(i); %rat = 2/3endfigure;plot(SNR,rat0,'r-',SNR,rat1,'go-',SNR,rat2,'b*-');hold on;grid on;legend('QAM64 (NoConv)','QAM64+Conv(2,1,7)','QAM
35、64+Conv(3,2,5)',0);仿真结果如下,可以看的出来,当信噪比大于 2.5 以后,64QAM的误码率最高, 64QAM+卷积码(3,2,5 )次之;64QAM+卷积码( 2,1,7 )再次之;-20-信号工程专业综合课程设计0.140.120.1QAM64 (No Conv)QAM64+Conv(2,1,7)0.08QAM64+Conv(3,2,5)0.060.040.020234567810.140.120.1QAM64 (No Conv)QAM64+Conv(2,1,7)0.08QAM64+Conv(3,2,5)0.060.040.02012345678下面代码的运行会绘制一个图形,上面的三条曲线,分别是( 1)单纯的 64QAM调制解调( 2)64QAM+RS码 1(3)-21-信号工程专业综合课程设计64QAM+ RS码 2 的曲线。%okclc;clear;SNR= 1:0.5:8;for i = 1:length(SNR)Num1(i),Rat1(i) = QAM64(SNR(i);Num2(i),Rat2(i) = RS_AND_QAM64(36,2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论