频分复用.docx
《频分复用.docx》由会员分享,可在线阅读,更多相关《频分复用.docx(23页珍藏版)》请在冰豆网上搜索。
频分复用
摘要
FDMA(FrequencyDivisionMultipleAccess)是数据通信中的一种技术,也是现在移动通信中使用最大的一种通信方式。
FDMA通信技术可以使不同的用户分配在时隙相同而频率不同的信道上传输。
按照这种技术,把在频分多路传输系统中集中控制的频段根据要求分配给用户。
同固定分配系统相比,FDMA使通道容量可根据要求动态地进行交换。
本次课程设计通过Matlab软件对FDMA系统进行仿真研究,可以加深对FDMA通信系统的理解和掌握,掌握带通滤波器和低通滤波器的设计,并且对过程中各个信号均需进行时域和频域的分析。
关键字:
频分复用、带通滤波器、低通滤波器、MATLAB
Abstract
FDMA(FrequencyDivisionMultipleAccess)isoneofthedatacommunicationtechnology,isnowthelargestuseofmobilecommunicationawaytocommunicate.FDMAcommunicationtechnologycanmakedifferentusersinthesametimeandfrequencydistributionofdifferentchanneltransmission.Inthistechnology,inthefrequencydivisionmultiplexingtransmissionsystemaccordingtotherequirementsofcentralizedcontrolfrequencydistributiontotheuser.Comparedwiththefixedallocationsystem,FDMAmakechannelcapacitycanbedynamicallyexchangeaccordingtorequirements.ThiscoursedesignthroughthesoftwareMatlabsimulationresearchofFDMAsystem,candeepenourunderstandingoftheFDMAcommunicationsystemofunderstandandmaster,masterbandpassfilterandthedesignofthelowpassfilter,andtheprocessofvarioussignalaresubjecttoananalysisoftimedomainandfrequencydomain.
Keyword:
frequencydivisionmultiplexing,band-passfilter,lowpassfilter,MATLAB
1设计任务及要求
1.1设计任务
根据频分复用的通信原理,用matlab采集两路以上的信号(如语音信号),选择合适的高频载波进行调制,得到复用信号。
然后设计合适的带通滤波器、低通滤波器,从复用信号中恢复出所采集的语音信号。
设计中各个信号均需进行时域和频域的分析。
1.2设计要求
用matlab做出采样之后信号的时域和频域波形图
1.2.2选择合适的高频载波,得到复用信号,并做出其频谱图
1.2.3设计合适的带通滤波器,并画出带通滤波器的频率响应图
1.2.4对滤波后的信号进行解调,画出解调后各路信号的频谱图
1.2.5设计合适的低通滤波器,画出低通滤波器的频率响应,做出恢复后信号的时域和频域波形图。
2设计原理
2.1频分复用原理
频分复用(FDM,FrequencyDivisionMultiplexing)就是将用于传输信道的总带宽划分成若干个子频带(或称子信道),每一个子信道传输1路信号。
频分复用要求总频率宽度大于各个子信道频率之和,同时为了保证各子信道中所传输的信号互不干扰,应在各子信道之间设立隔离带,这样就保证了各路信号互不干扰(条件之一)。
频分复用技术的特点是所有子信道传输的信号以并行的方式工作,每一路信号传输时可不考虑传输时延,因而频分复用技术取得了非常广泛的应用。
频分复用技术除传统意义上的频分复用(FDM)外,还有一种是正交频分复用(OFDM)。
FDMA(FrequencyDivisionMultipleAccess)是数据通信中的一种技术,即不同的用户分配在时隙相同而频率不同的信道上。
按照这种技术,把在频分多路传输系统中集中控制的频段根据要求分配给用户。
同固定分配系统相比,频分多址使通道容量可根据要求动态地进行交换。
在FDMA系统中,分配给用户一个信道,即一对频谱,一个频谱用作前向信道即基站向移动台方向的信道,另一个则用作反向信道即移动台向基站方向的信道。
这种通信系统的基站必须同时发射和接收多个不同频率的信号,任意两个移动用户之间进行通信都必须经过基站的中转,因而必须同时占用2个信道(2对频谱)才能实现双工通信。
图1频分复用通信系统模型
2.2语音信号采样
2.2.1信号抽样
语音信号的采样即为信号的抽样过程,是把连续时间模拟信号转换成离散时间连续幅度的抽样信号,其实质就是用一固定频率的抽样信号周期性的读出或测量该连续时间模拟信号。
设抽样信号的频率为
,则抽样周期为
。
抽样以后的信号仍为模拟量,只不过是时间上离散的脉冲调制信号。
如图2所示,f(t)为输入的被抽样信号,p(t)为抽样信号,而f0(t)为抽样后输出信号。
理想的抽样应是冲激序列,但实际抽样通常是平顶抽样或自然抽样。
图2抽样过程波形
抽样的理论基础是抽样定理,它说明在什么条件下能从抽样输出信号f0(t)中恢复输入信号f(t)。
根据频谱分析理论,只有抽样信号的频率不发生重叠现象时,抽样的频谱才能与信号频谱相一致。
因此,抽样定理可表述为:
为了使抽样信号f0(t)能完全恢复连续信号f(t),抽样信号重复频率
必须大于等于2倍的
,
为包含任何干扰在内的信号f(t)的最高有效频率,即
其中,
为奈奎斯特频率。
2.2.2语音信号存储方式
WAV无损:
是微软公司开发的一种声音文件格式,它符合PIFFResourceInterchange文件规范,用于保存WINDOWS平台的音频信息资源,被WINDOWS平台及其应用程序所支持。
“*.WAV”格式支持MSADPCM、CCITTALAW等多种压缩算法,支持多种音频位数、采样频率和声道,标准格式的WAV文件是44.1K的采样频率,速率88K/秒,16位量化位数是目前PC机上广为流行的声音文件格式,几乎所有的音频编辑软件都“认识”WAV格式。
2.2.3语音信号采集所用的MATLAB
(1)y=wavrecord(n,Fs);n记录音频信号采样,FS在采样率的赫兹(每秒采样)。
对于Fs的默认值是11025赫兹。
基于PC的音频硬件的标准采样率是8000,11025,22050和44100每秒样本。
立体声信号返回为两列的矩阵。
一个立体声音频矩阵的第一列对应到左输入通道,而第二列对应到右输入通道。
该wavrecord功能只可以使用32位MicrosoftWindows操作系统。
记录从其他平台上的音频输入设备的音频数据,使用 audiorecorder。
(2)wavplay(y,Fs);回放录制的声音用wavplay
(3)wavwrite(y,Fs,);写变量y存储到一个名为的WAVE文件数据。
该数据具有的FS赫兹采样率假定为位。
2.3语音信号的调制
将4个声音信号用高频载波进行调制。
频分复用的关键技术是频谱搬移技术,该技术是用混频来实现的。
混频的原理,如图3所示。
混频过程的时域表示式为:
(1)
图3:
混频原理
为双边带信号(DSB),它的带宽是基带信号带宽
的2倍,即调制后的带宽为:
(2)
为了使各个信号不会相互干扰,各个载频的间隔既要大于调制后带宽B,设各载波的频率间隔为
,由于
,所以
(3)
另外,在选取各路信号载波频率时,还需要考虑混叠频率
。
所谓混叠频率,就是当利用一个抽样频率为
的离散时间系统进行信号处理时信号所允许的最高频率。
任何大于
的分量都将重叠起来而不能恢复,并使正规频带内的信号也变得模糊起来。
根据抽样定理可知:
(4)
由于前面语音信号采样频率
,所以混叠频率:
(5)
综合上述考虑,由(3)式可取载波频率间隔
为7000Hz,由(5)式可知最高载波频率要小于
为22050Hz,如果本次设计取第1路语音信号的载波频率
为4000Hz,则第2路信号的载波频率
为11000Hz,第3路信号的载波频率
为18000Hz,第4路信号的载波频率
为25000Hz。
同时满足最高载波频率
的要求,可是这次选的
对其余3路信号不影响,对第4路信号会有一定影响在结果中再来分析。
2.4加噪仿真信道传输
通信系统中的噪声是叠加在信号上的,没有传输信号时通信系统中也有噪声,噪声是永远存在于通信系统中的。
噪声可以看成是信道中的一种干扰,也称为加性噪声,因为它是叠加在信号之上的。
最基本的调制信道有一对输入端和一对输出端,其输入端信号电压
和输出端电压
间的关系可以用下式表示:
(6)
式中:
为信道输入端信号电压;
为信道输出端得信号电压;
为噪声电压。
由于信道中的噪声
是叠加在信号上的,而且无论有无信号,噪声
是始终存在的。
当没有信号输入时,信道输出端也有加性干扰输出。
表示信道输入和输出电压之间的函数关系。
所以在信道数学分析时,可以假设
,即信道的作用相当于对输入信号乘一个系数
。
这样,式(6)就可以改写为:
(7)
式(7)就是调制信道的一般数学模型。
其数学模型图可以图4所示。
是一个很复杂的函数,它反映信道的特征。
一般说来,它是时间t的函数。
图4调制信道数学模型
噪声又可以分为认为噪声和自然噪声两大类。
其中以自然噪声最难处理,而自然噪声中最重要的噪声为热噪声。
由于在一般通信系统的工作频率范围内热噪声的频谱是均匀分布的,所以热噪声又常称为白噪声。
由于热噪声是由大量自由电子的运动产生的,其统计特性服从高斯分布,故常将热噪声称为高斯白噪声。
所以本次设计中模拟信道噪声可以用MATLAB软件调用AWGN加入一个随机的高斯白噪声在复用信号中。
y=awgn(x,SNR)(8)
在式(8)向信号x中加入高斯白噪声。
信噪比SNR以dB为单位。
x的强度假定为0dBW。
如果x是复数,就加入复噪声。
2.4系统滤波器的设计
本次设计中有4路语音信号,所以在接收端要设计4个带通滤波器,为了达到较好的效果,将采用切比雪夫2型滤波器。
使用MATLAB设计切比雪夫2型滤波器只需要确定滤波器的4个参数即可设计出所需要的滤波器。
这4个参数分别为:
通带区最大衰减系数Rp、阻带区最小衰减系数Rs、通带边界频率归一化值Wp和阻带边界频率归一化值Ws。
其中当
时,为高通滤波器;当
和
为二元矢量时,为带通或带阻滤波器。
本次设计中可取最大衰减系数Rp为0.5dB,阻带区最小衰减系数Rs为40dB。
3个带通滤波器分别要滤出4路语音信号,其通频带要依据先前选定的载波频率和采样频率而定,可以滤出上边频,也可以滤出下边频,在这里将滤出上边频。
而在信号的调制设计时,所选择的3路语音信号的载波频率分别为4000Hz、1100Hz、18000Hz和25000。
信号的采样频率为44100Hz时,可取通带的边界频率Wp1和阻带的边界频率Ws1分别为:
Wp1=[40008000]/22050;
Ws1=[38008500]/22050;
Chebyshev(切比雪夫)II型滤波器阶的选择 :
(9)
得到了滤波器的最小阶数n和截止频率Wn后,再调用MATLAB软件中的cheby2函数,进一步完成切比雪夫滤波器的设计。
Chebyshev(切比雪夫)II型模拟滤波器设计:
[b,a]=cheby2(n,rp,wn,/ftype/)(10)
在式(10)中n为阶数,wn为截止频率,这两个参数是式(9)中选择好的。
rp为通带波纹系数。
求出滤波器传递函数的分子系数b和滤波器传递函数的分母系数a。
[h,w]=freqz(b,a,n)(11)
其中返回量h则包含了离散系统频响在0——pi范围内n个频率等分点的值,向量w则包含范围内n个频率等分点。
W将0~pi分为512个区间,h就是系统(b,a)的频率响应了。
最后通过MATLAB软件中的filter函数对信号进行滤波。
该函数调用形式为:
(12)
式中的s为被滤波信号,y为滤波后的信号。
同样,可以设计出其它所需的两路带通滤波器和低通滤波器。
3MATLAB程序设计流程
开始
获取录音文件
声音样本的时域和频域分析
高频载波进行调制
加入噪声模拟信道
设计带通滤波器
经过带通滤波器解调
设计低通滤波器
恢复信号的时域分析
恢复信号的频域分析
播放恢复的音频
结束
4仿真结果
4.1语音信号的时域和频域仿真
4.1.1信号的时域仿真
使用MATLAB软件可以对采集的语音信号进行时域和频域分析。
可以使用subplot(m,n,p)或者subplot(mnp)将多个图画到一个平面上的工具。
其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,p则是指要把曲线画到figure中哪个图上。
MATLAB中绘图命令plot(x,y),其含义是以x为横坐标,y为纵坐标,绘制图形。
可得到如图5所示的时域分析图
图5声音样本的时域波形
4.1.2信号频域仿真
频域分析主要是将3个声音样本信号sd1、sd2和sd3用MATLAB软件进行快速傅里叶变换后,再画出3个信号的频谱图。
其中快速傅里叶变换可以直接用MATLAB中的fft命令,然后通过abs得到经过快速傅里叶变换后信号的振幅。
最后用MATLAB中stem命令对于得到的离散序列实现其频谱图的绘制。
可以得到如图6所示的声音信号频谱分析图。
图6声音样本的频谱
4.2复用信号的频谱仿真
在MATLAB软件中将采样的3路语音信号经过混频处理得到3路已调信号x1、x2和x3,再通过加法器将3路信号变为一路复用信号s,通过MATLAB软件中stem(t,abs(fft(s)),'.')命令对复用信号s进行了频谱分析,其频谱分析如图7所示。
MTLAB中显示的结果:
snr=19.3510(13)
图7复用信号的频谱
4.3传输信号的仿真
我们都知道FDMA通信系统的复用信号传输是通过空气介质传输的,复用信号在空气传输中会有很多的噪声,其中主要是以高斯白噪声为主,所以在信号传输的设计仿真中,主要对复用信号加入高斯白噪声。
在MATLAB中可以通过awgn函数在某一信号中加入高斯白噪声,其调用方式为:
y=awgn(x,SNR),其意义是在信号x中加入高斯白噪声;信噪比SNR以dB为单位,x的强度假定为0dBW。
如果x是复数,就加入复噪声。
通过前面的调制和信号复用设计后,得到了复用信号s,使用MATLAB中的awgn函数加入高斯白噪声后复用信号变为ys。
为了使后面能够较好的恢复语音信号,所以在这里加入白噪声时,信噪比不能设置的太小。
仿真发现大于20dB时失真比较小。
图8为加入高斯白噪声后,复用信号ys的频谱图。
4.4带通滤波器设计
带通滤波器设计的频谱图如图9所示:
图8加入高斯白噪声的频谱
图9带通滤波器的设计
4.5解调信号的频谱仿真
信号解调前,首先通过3个带通滤波器对复用信号s进行滤波,得到3路调制的语音信息y1、y2和y3,然后在对这三路信号进行解调,解调过程与调制的过程相同,使用与原来调制载波相同的信号分别与滤波后的3路信号相乘。
得到3路解调信号y01、y02和y03。
然后对各路信号使用MATLAB软件中的快速傅里叶变换函数fft进行变换,并通过MATLAB软件,得到的3路解调信号的频谱如图10所示。
图10解调后的频谱
4.6低通滤波器设计
低通滤波器设计后的频谱图如图11
4.7恢复信号的时域与频域仿真
语音信号的恢复就是将前面解调所得到的4路信号y01、y02、y03、y04再通过低通滤波器使用filter函数滤波后,分别得到3路恢复的语音信号。
对恢复的4路语音信号进行时域分析,其时域和频域分析波形如图12,13所示。
图11低通滤波器的频谱图
图12恢复信号的时域图
图13恢复信号的频谱图
5小结体会
这次课程设计中我又再次学习频分复用的知识,复用是一种将若干个彼此独立的信号合并为一个可在同一个信道上传送的复合信号的方法,这些信号时隙相同频段不同。
在学通信原理的时候,我们主要学习了正交频分复用,它的特点是更加充分的利用频带,在这次课程设计中要用的频带不那么多,就没有选用正交频分复用实现起来比较复杂。
在选取各路信号载波频率时,还需要考虑混叠频率
(就是当利用一个抽样频率为
的离散时间系统进行信号处理时信号所允许的最高频率)。
任何大于
的分量都将重叠起来而不能恢复,并使正规频带内的信号也变得模糊起来。
因此在这次实验中所选取的第4路信号就无法正常恢复。
在这次实验中用到的切比雪夫2型滤波器设计带通和低通滤波器,在阻带上频率响应幅度等波纹波动的滤波器称为“II型切比雪夫滤波器”。
使用MATLAB设计切比雪夫2型滤波器只需要确定滤波器的4个参数即可设计出所需要的滤波器。
这4个参数分别为:
通带区最大衰减系数Rp、阻带区最小衰减系数Rs、通带边界频率归一化值Wp和阻带边界频率归一化值Ws。
切比雪夫滤波器在过渡带衰减快、与理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。
在MATLAB程序设计阶段,调用FFT完成时域到频域的变换,还要加FFTSHIFT才能将FFT的DC分量移到频谱中心。
在MATLAB上仿真频分多址通信技术取得了较好的效果。
录音的声音再经过调试和解调后的信号与原来相比较为接近。
我觉得仿真的成功关键在于载波频率的选择以及带通和低通滤波器的参数设计。
6附录
附录一:
MATLAB仿真程序
%1获取录音文件
pause
fs=44100;%声音的采样频率为44.1Khz
duration=3;%录音时间为3s
fprintf('按任意键开始录音1:
\n');
pause
fprintf('录音中···\n');
s1=wavrecord(duration*fs,fs);%总的采样数为132300,保存声音文件名为sd1
fprintf('放音中···\n');
wavplay(s1,fs);
fprintf('录音1播放完毕。
\n');
wavwrite(s1,fs,'sound1.wav');%将录音文件保存为WAV格式的声音文件
fprintf('按任意键开始录音2:
\n');
pause
fprintf('录音中···\n');
s2=wavrecord(duration*fs,fs);
fprintf('放音中···\n');
wavplay(s2,fs);
fprintf('录音2播放完毕。
\n');
wavwrite(s2,fs,'sound2.wav');
fprintf('按任意键开始录音3:
\n');
pause
fprintf('录音中···\n');
s3=wavrecord(duration*fs,fs);
fprintf('放音中···\n');
wavplay(s3,fs);
fprintf('录音3播放完毕。
\n');
wavwrite(s3,fs,'sound3.wav');
fprintf('按任意键开始录音4:
\n');
pause
fprintf('录音中···\n');
s4=wavrecord(duration*fs,fs);
fprintf('放音中···\n');
wavplay(s4,fs);
fprintf('录音4播放完毕。
\n');
wavwrite(s4,fs,'sound4.wav');
%2声音样本的时域和频域分析
fprintf('按任意键开始声音样本的时域分析:
\n');
pause
fs=44100;%声音的采样频率为44.1Khz
duration=3;
t=0:
duration*fs-1;%总的采样数
[s1,fs]=wavread('sound1.wav');%打开保存的录音文件
[s2,fs]=wavread('sound2.wav');
[s3,fs]=wavread('sound3.wav');
[s4,fs]=wavread('sound4.wav');
figure
(1)%图1为4个声音样本的时域波形
subplot(221)
plot(t,s1);xlabel('单位:
s');ylabel('幅度');
title('4个声音样本的时域波形');
subplot(222)
plot(t,s2);xlabel('单位:
s');ylabel('幅度');
subplot(223)
plot(t,s3);xlabel('单位:
s');ylabel('幅度');
subplot(223)
plot(t,s3);xlabel('单位:
s');ylabel('幅度');
subplot(224)
plot(t,s4);xlabel('单位:
s');ylabel('幅度');
fprintf('按任意键开始声音样本的频域分析:
\n');
figure
(2)%图2为4个声音样本的频谱分析
subplot(221)
stem(t,abs(fftshift(fft(s1))),'.');%fft对声音信号进行快速傅里叶变换
xlabel('单位:
Hz');ylabel('幅度');
title('4个声音样本的频谱分析');
subplot(222)
stem(t,abs(fftshift(fft(s2))),'.');xlabel('单位:
Hz');ylabel('幅度');
subplot(223)
stem(t,abs(fftshift(fft(s3))),'.');xlabel('单位:
Hz');ylabel('幅度');
subplot(224)
stem(t,abs(fftshift(fft(s4))),'.');xlabel('单位:
Hz');ylabel('幅度');
%3调制,将4个声音信号用高频载波进行调制
x1=4*s1'.*cos(2*pi*4000*t/fs);
x2=4*s2'.*cos(2*pi*11000*t/fs);
x3=4*s3'.*cos(2*pi*18000*t/fs);
x4=4*s4'.*cos(2*pi*25000*t/fs)
s=x1+x2+x3+x4;
figure(3)
stem(t,abs(fftshift(fft(s)