为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

通讯原理—简易单边带电台仿真

2017-11-15 13页 doc 194KB 17阅读

用户头像

is_954223

暂无简介

举报
通讯原理—简易单边带电台仿真通讯原理—简易单边带电台仿真 通讯原理 课程设计报告 10级电子102班 姓名:XXXXX 班级: 学号: 武汉纺织大学电子与电气工程学院 一、设计题目:一个简化的单边带电台仿真 二、设计目的 1.综合应用《Matlab编程与系统仿真》、《信号与系统》、《现代通信原理》等多门课程知识,使学生建立通信系统的整体概念。 2.培养学生系统设计与系统开发的思想、利用软件进行通信仿真的能力。 3.加深对 SSB调制原理的理解。 通过比较调制前后的频谱图,掌握 SSB调 制的原理和特性。 4.锻炼自己独立思考问...
通讯原理—简易单边带电台仿真
通讯原理—简易单边带电台仿真 通讯原理 课程 10级电子102班 姓名:XXXXX 班级: 学号: 武汉纺织大学电子与电气工程学院 一、设计目:一个简化的单边带电台仿真 二、设计目的 1.综合应用《Matlab编程与系统仿真》、《信号与系统》、《现代通信原理》等多门课程知识,使学生建立通信系统的整体概念。 2.培养学生系统设计与系统开发的思想、利用软件进行通信仿真的能力。 3.加深对 SSB调制原理的理解。 通过比较调制前后的频谱图,掌握 SSB调 制的原理和特性。 4.锻炼自己独立思考问题的能力,提高动手能力,增强社会适应度。 三、设计要求 1.对通信系统有整体的较深入的理解,深入理解自己仿真部分的原理的基础,画出对应的通信子系统的原理框图 2.提出仿真 3. 完成仿真软件的编制 4 .仿真软件的演示 5.提交详细的设计报告和源程序 四、开发环境及其介绍 1,开发环境:Matlab2012b 2,软件介绍:作为和Mathematica、Maple并列的三大数学软件。其强项就是其强大的矩阵计算以及仿真能力。Matlab的由来就是Matrix + Laboratory = Matlab,所以这个软件在国内也被称作《矩阵实验室》。每次MathWorks发布Matlab的同时也会发布仿真工具Simulink。在欧美很多大公司在将产品投入实际使用之前都会进行仿真试验,他们所主要使用的仿真软件就是Simulink。Matlab提供了自己的编译器,全面兼容C++以及Fortran两大语言。 3.软件特点: (1)友好的工作平台和编程环境; (2)简单易用的程序语言; (3)强大的科学计算机数据处理能力; (4)出色的图形处理功能; (5)应用广泛的模块集合工具箱; (6)实用的程序接口和发布平台; (7)应用软件开发(包括用户界面)。 五、设计内容 以真实的音频信号作为输入,设计一个单边带发信机。将基带信号调制为SSB后送入带通型高斯噪声信道。加入给定的噪声功率之后,再送入单边带接收机。单边带接收机将接受信号解调下来,通过计算机声卡将解调信号播放出来试听效果。从而对信道信噪比与解调音质之间的关系进行主观测试。 1. 设计原理 1. 单边带信号( SSB)的调制 假定有两种频率的信号: 载波M ( t) = Am cosω c t、音频信号m ( t) =am cosω c t。通 过非线性元件可以产生频率分别为ω c、Ω c 的信号。通过带通滤波器滤掉Ω c ,通过低通 滤波器滤掉ω c。这样,就得到了两个边带的频率分量ω c +Ω c ω c - Ω c ,这种含有两个边带信号同时也没有载波分量的信号,称它为双边带信号,简称 DSB。此时, DSB 也可以被直接发射出去,但是DSB信号中含有两个边带的信号,这两个边带携 完全可以只发射其中的一个。这时,用滤波器过滤掉其中的一个边带带着两个完全相同的信息, 就可以得到单边带信号(LSB 或者 USB) 。 (1) 滤波法调制(频率区分法) 模型如图1示。 LPF、HPF需要理想的形式,但是实际上是做不到的,过渡带不可能是0。因此需要多级调制。采用二级调制的系统框图如图2所示。 图2 二级调制模型 (2)移项法调制移相法产生SSB信号的模型如图3所示。注:其中m ′( t)为m ( t)的希尔伯特变换 图3 移项法调制(图) 图中为相移网络; cosωc t经过相移网络后,输出为sinωc t。m ( t) 经过相移网络后,将所有的频率成份移相-π/2,实际上是一个希尔波特(Hilbert)变换(也可以用一个宽带相移网络来代替)。 2(单边带信号( SSB)的解调 所谓解调就是把接收来的SSB信号经过处理,滤掉载波成分,使之还原成发射之前的有用的信 息。 (1)相干解调法 相干解调方法的模型如图4所示。下面从时域和频域两个角度进行分析。 图4 相干解调法模型 时域分析: SP(t)=SSSB(t)cosωct =〔m(t)cosωct?m’(t)sinωct〕cosωct =1/2〔m(t)+m(t)cos(2ωct?1/2m’(t)sin(2ωct) (1) 经滤波器后,输出为:mo(t)=1/2m(t) (2) 频域分析: SP(Ωc)=1/2〔SSSB(ωc+Ωc)+SSSB(ωc-Ωc)〕 (3) 经滤波器后,输出为: Mo(Ωc)=Sp(Ωc)HLPF(Ωc) (4) 相干解调要求本地载波的频率和相位必须严格。 2, 载波插入法 由于接收到的LSB 或者USB 信号中不包含载波信号,所以必须在接收机里把缺失的载波补上 (这个过程其实就是把SSB信号恢复成调幅波) ,否则就不能得到想要的有用信息。载波插入法,即人为地给SSB 信号加入一个大幅度的载波,再用包络检波方法。包络检波法不需要本地载波,易于实现。系统框图如图5所示。该方法也需要载波同步。 图5 载波插入法模型 2. 模块说明及参数设置 模块一:语音信号录入并抽样 参数设置:Fs=80000; %仿真系统采样率 t=1/Fs:1/Fs:t_end; %仿真系统采样时间点 模块二:滤波 参数设置:300——3400HZ的带通滤波器 模块三:发信机(单边带调制) 参数设置:载波频率为10KHZ,输出上边带 模块四:带限高斯噪声信道 参数设置:带通频率范围[10000,13500]HZ 模块五:接收机 参数设置:载波频率为9.8KHZ 解调滤波器为300——3400HZ的带通滤波器 附: 模块一代码: m=30;%录音时长m秒 Fs=8000;%采样频率8000Hz ch=1;%选择声道1 n=8;%采样位数8位 fprintf('Press any key to start %g seconds of recording...\n',m);%按任意键开始录音 pause;%暂停 等待按键 fprintf('Recording...\n'); yd=wavrecord(m*Fs,Fs,ch);%录音 fprintf('Finished recording.\n'); \n'); fprintf('Press any key to play the recording... subplot(2,1,1);%画时域图 t=(0:m*Fs-1)/Fs; plot(t,yd); axis([0,10,-1,1]); xlabel('Time(s)'); wavwrite(yd,'song.wav');%保存音频文件 播放 pause;%等待按键 wavplay(yd,Fs);%播放 [y,Fs,nbits]=wavread('song.wav');%读出信号,采样率和采样位数。 y=y(:,1);%我这里假设你的声音是双声道,我只取单声道作分析,如果你想分析另外一个声 道,请改成y=y(:,2) sigLength=length(y);%信号长度 Y = fft(y,sigLength);%傅里叶变换 Pyy = Y.* conj(Y)/sigLength; halflength=floor(sigLength/2); f=Fs*(0:halflength)/sigLength; subplot(2,1,2); plot(f,Pyy(1:halflength+1));%画频谱图 axis([0,2500,0,2]); xlabel('Frequency(Hz)'); 模块二代码: % 設計300Hz,3400Hz的帶通預濾波器H(z) [fenzi,fenmu]=butter(3,[1 3400]/(fs/2)); % 對音頻信號進行預濾波 wav=filter(fenzi,fenmu,wav); 模块三代码: % ch5example9prog1.m [wav,fs]=wavread('song.wav');%读出信号 t_end=1/fs *length(wav); % 计算声音时长 Fs=50000; % 仿真系统采样频率 t=1/Fs:1/Fs:t_end; % 仿真采样时间点 % 设计300Hz,3400Hz的带通巴特沃斯滤波器 [fenzi,fenmu]=butter(3,[300 3400]/(fs/2)); % 音频信号滤波 wav=filter(fenzi,fenmu,wav); % 利用插值函数将音频信号的采样率提升为Fs=50KHz wav=interp1([1/fs:1/fs:t_end],wav,t,'spline'); wav_hilbert=imag(hilbert(wav)); % 音頻信号的希尔伯特变换 fc=10000; % 载波频率Hz SSB_OUT=wav.*cos(2*pi*fc*t)-wav_hilbert.*sin(2*pi*fc*t); %单边带调制 figure(1); % 观察调制前后频谱 subplot(2,2,1); plot(wav(53550:53750)); axis([0 200 -0.5 0.5]); xlabel('Time(s)'); subplot(2,2,2); psd(wav, 10000, Fs); axis([0 20000 -20 10]); subplot(2,2,3); plot(SSB_OUT(53550:53750)); axis([0 200 -0.5 0.5]); xlabel('Time(s)'); subplot(2,2,4); psd(SSB_OUT, 10000, Fs); axis([0 20000 -20 10]); wavwrite(0.5*SSB_OUT,Fs,'SSB_OUT.wav'); % 将SSB调制输出存盘 模块四代码: %模拟信道传输特性,信噪比很小时波形明显失真 clear; [in, Fs]=wavread('SSB_OUT.wav'); 任意更改比较信号音质 SNRdB=20; % dB 設計的信道信噪比 out=prog2(in, SNRdB); wavwrite(out,Fs,'Channel_OUT.wav'); [out, Fs]=wavread('Channel_OUT.wav'); subplot(2,2,1); plot(in(53550:53750)); axis([0 200 -0.3 0.3]);%输入信号波形图 subplot(2,2,2); psd(in, 10000, Fs); axis([0 25000 -20 10]);%输入信号频谱图 subplot(2,2,3); plot(out(53550:53750)); axis([0 200 -0.3 0.3]);%输出信号波形图 subplot(2,2,4); psd(out, 10000, Fs); axis([0 25000 -20 10]);%输出信号频谱图 模块五代码 % ch5example9prog3.m clear; [recvsignal, Fs]=wavread('Channel_OUT.wav');% 读入信道输出信号数据 t=(1/Fs:1/Fs: length(recvsignal)/Fs)'; fc_local=10000-200; % 本地载波频率9.8KHz local_carrier=cos(2*pi*fc_local.*t); % 本地载波 xianggan_out=recvsignal.*local_carrier; % 相干解調 [fenzi,fenmu]=butter(3,[300 3400]/(Fs/2)); % 設計300Hz,3400Hz的帶通濾波器 demod_out=filter(fenzi,fenmu,xianggan_out); % 對相干輸出信號進行濾波 wavplay(demod_out/max(demod_out), Fs); % 播放解調音頻 wavwrite(demod_out,Fs,'SSBDemod_OUT.wav'); % 保存輸出信號 subplot(3,2,1); plot(recvsignal(53550:53750)); axis([0 200 -0.3 0.3]);%接收信号波形图 title(['接收信号']); subplot(3,2,2); psd(recvsignal, 10000, Fs); axis([0 25000 -20 10]);%接收信号频谱图 title(['接收信号频谱图']); subplot(3,2,3); plot(local_carrier(53550:53750)); axis([0 50 -1 1]);%相干载波波形图 title(['相干波']); subplot(3,2,4); psd(local_carrier, 10000, Fs); axis([0 25000 -20 10]);%相干载波频谱图 title(['相干波频谱图']); subplot(3,2,5); plot(demod_out(53550:53750)); axis([0 200 -0.3 0.3]);%解调后波形图 title(['解调信号']); -20 10]);%解调后频谱图 subplot(3,2,6); psd(demod_out, 10000, Fs); axis([0 25000 title(['解调信号频谱图']); 3. 仿真结果分析 1. 录制声音并会出其频谱 2,发信机的仿真。我们是用移相法进行调制实现,取上边带。先用程序录得一段音频,然后模拟单边带调制及发送过程,仿真波形如下: 3.信道的仿真。设置不同输入信道信噪比,可比较输出信号的不同,设置输入信噪 比20db,的仿真波形如下: 4.接收机的仿真。我们采用相干解调,相干载波频率允许一定误差,误差200Hz时 仿真效果图 频率误差200Hz时仍能清晰恢复原信号 六、总结 在本次课程设计中,个人觉得最难得部分在于将SSB调制的物理过程用MATLAB程序来实现。使我意识到自己掌握的MATLAB知识是远远不够的,此部分的学习还有待加强。在编写程序的时候,仔细和认真是必不可少的,往往只是一点点小错误就让你可以寻找半天。 本次设计中我遇到了不少问题,主要有:对信号的采样频率不能过低,过低的采样频率将导致输出波形的失真;在绘制频谱图时进行傅立叶变换函数之间的的关系得合理设置等,但通过查找以及与同学的一起探讨,都得到了解决。 通过本次课程设计,使我对通信原理这门课的学习有了很大的提高和巩固,更加深入的学习了SSB调制和解调的过程。通过不断的查找资料,开阔了我的知识范围,使我对所学知识有了很好的消化,同时懂得怎样使自己所学的知识和实际相结合,提高自己的动手能力以及独立思考问题和解决问题的能力,增加的不仅是查找的资料上面的知识,更多的搜索的能力。这是对自己本学期以来学习《通信原理》的一个肯定,是对以后的学习的一种督促。 七、参考文献 【1】《通信原理》第六版 樊昌信 曹立娜 编著 【2】《MATLAB教程》R2010a 张志勇 杨祖樱 编著 【3】《MATLAB实验指导书》 陈爱菊 张国琴 编写
/
本文档为【通讯原理—简易单边带电台仿真】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索