通讯原理—简易单边带电台仿真
------------------------------------------------------------------------------------------------
通讯原理—简易单边带电台仿真
通信原理课程
报告
之一个简化的单边带电台仿真
武汉纺织大学电子与电气
学院
通信原理课程
设计报告书
姓名:班级:学号:日期:
通信原理课程设计报告书之一个简化的单边带电台仿真武汉纺织大学电子与电气工程学院
一、设计题目:一个简化的单边带电台仿真
二、设计目的
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)=Amcosωct、音频信号m(t)=amcosωct。通过非线性元件可以产生频率分别为ω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ωct经过相移网络后,输出为sinωct。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)
频域分析:
SP(Ωc)=1/2〔SSSB(ωc+Ωc)+SSSB(ωc-Ωc)〕
经滤波器后,输出为:
Mo(Ωc)=Sp(Ωc)HLPF(Ωc)
相干解调要求本地载波的频率和相位必须严格。
2,载波插入法(2)(3)(4)
由于接收到的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('Pressanykeytostart%gsecondsof
recording...\n',m);%按任意键开始录音
pause;%暂停等待按键
fprintf('Recording...\n');
——————————————————————————————————————
------------------------------------------------------------------------------------------------
yd=wavrecord(m*Fs,Fs,ch);%录音
fprintf('Finishedrecording.\n');
fprintf('Pressanykeytoplaytherecording...\n');
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,[13400]/(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,[3003400]/(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([0200-0.50.5]);xlabel('Time(s)');
subplot(2,2,2);psd(wav,10000,Fs);axis([020000-2010]);
subplot(2,2,3);plot(SSB_OUT(53550:53750));axis([0200-0.5
0.5]);
xlabel('Time(s)');
subplot(2,2,4);psd(SSB_OUT,10000,Fs);axis([020000-2010]);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([0200-0.30.3]);%输入信
——————————————————————————————————————
------------------------------------------------------------------------------------------------
号波形图
subplot(2,2,2);psd(in,10000,Fs);axis([025000-2010]);%输入信号频谱图
subplot(2,2,3);plot(out(53550:53750));axis([0200-0.30.3]);%输出信号波形图
subplot(2,2,4);psd(out,10000,Fs);axis([025000-2010]);%输出信号频谱图
模块五代码
通信原理课程设计报告书之一个简化的单边带电台仿真武汉纺织大学电子与电气工程学院
%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,[3003400]/(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([0200-0.30.3]);%接收信号波形图
title(['接收信号']);
subplot(3,2,2);psd(recvsignal,10000,Fs);axis([025000-20
10]);%接收信号频谱图
title(['接收信号频谱图']);
subplot(3,2,3);plot(local_carrier(53550:53750));axis([050-11]);%相
干载波波形图
title(['相干波']);
subplot(3,2,4);psd(local_carrier,10000,Fs);axis([025000-2010]);%相
干载波频谱图
title(['相干波频谱图']);
subplot(3,2,5);plot(demod_out(53550:53750));axis([0200-0.30.3]);%解调后波形图
title(['解调信号']);
subplot(3,2,6);psd(demod_out,10000,Fs);axis([025000-20
10]);%解调后频谱图
title(['解调信号频谱图']);
3.仿真结果分析
——————————————————————————————————————
------------------------------------------------------------------------------------------------
1.录制声音并会出其频谱
通信原理课程设计报告书之一个简化的单边带电台仿真
武汉纺织大学电子与电气工程学院
2(发信机的仿真。我们是用移相法进行调制实现,取上边
带。先用程序录得一段音频,然后模拟单边带调制及发送过程,仿真波形如下:
通信原理课程设计报告书之一个简化的单边带电台仿真
武汉纺织大学电子与电气工程学院
信道的仿真。设置不同输入信道信噪比,可比较输出信号的不3.3.信道的仿真。
同,设置输入信噪比20db,的仿真波形如下:
通信原理课程设计报告书之一个简化的单边带电台仿真
武汉纺织大学电子与电气工程学院
接收机的仿真。我们采用相干解调,相干载波频率允许一定误4.4.接收机的仿真。
差,误差200Hz时仿真效果图
通信原理课程设计报告书之一个简化的单边带电台仿真
武汉纺织大学电子与电气工程学院
频率误差200Hz时仍能清晰恢复原信号
六、
在本次课程设计中,个人觉得最难得部分在于将SSB调制的物理过程用MATLAB程序来实现。使我意识到自己掌握的MATLAB知识是——————————————————————————————————————
------------------------------------------------------------------------------------------------
远远不够的,此部分的学习还有待加强。在编写程序的时候,仔细和认真是必不可少的,往往只是一点点小错误就让你可以寻找半天。
本次设计中我遇到了不少问题,主要有:对信号的采样频率不能过低,过低的采样频率将导致输出波形的失真;在绘制频谱图时进行傅立叶变换函数之间的的关系得合理设置等,但通过查找资料以及与同学的一起探讨,都得到了解决。
通过本次课程设计,使我对通信原理这门课的学习有了很大的提高和巩固,更加深入的学习了SSB调制和解调的过程。通过不断的查找资料,开阔了
通信原理课程设计报告书之一个简化的单边带电台仿真武汉纺织大学电子与电气工程学院我的知识范围,使我对所学知识有了很好的消化,同时懂得怎样使自己所学的知识和实际相结合,提高自己的动手能力以及独立思考问题和解决问题的能力,增加的不仅是查找的资料上面的知识,更多的搜索的能力。这是对自己本学期以来学习《通信原理》的一个肯定,是对以后的学习的一种督促。
七、参考文献
【1】《通信原理》第六版樊昌信曹立娜编著
【2】《MATLAB教程》R2010a张志勇杨祖樱编著
【3】《MATLAB实验指导书》陈爱菊张国琴编写
——————————————————————————————————————