您好,欢迎来到星星旅游。
搜索
您的当前位置:首页三路频分复用系统设计

三路频分复用系统设计

来源:星星旅游
*****************

实践教学

*******************

兰州理工大学

计算机与通信学院

2013年春季学期

信号处理 课程设计

题 目:三路频分复用系统的设计 专业班级: 通信工程 姓 名: 刘旺春 学 号: 10250423 指导教师: 王维芳 成 绩:

摘 要

频分复用是通信中广泛使用的一种通信方式。频分复用技术可以使不同的用户分配在时隙相同而频率不同的信道上传输。复用是一种将若干个彼此的信号,合并为一个可在同一信道上同时传输的复合信号的方法。可以把它们的频谱调制到不同的频段,合并在一起而不会相互影响,并能在接收端彼此分离开来。按频率区分信号的方法叫频分复用。在生活中,我们接触到的大部分都是模拟信号,而计算机只能对数字信号进行处理。通过FFT变换,通过对模拟信号采样,我们可以使其变成数字信号,本次设计是通过FFT来实现的。先产生三个信号,接着对其进行FFT变换,然后将三个叠加。接着设计三个滤波器进行滤波,还原出原始信号。本设计是用FFT实现对三个同频带信号的频分复用,就是通过Matlab语言来实现的。本设计报告分析了数字信号处理课程设计的过程。用Matlab进行数字信号处理课程设计的思路,并阐述了课程设计的具体方法、步骤和内容,以及在生活中的应用。

关键词:频分复用;FFT;Matlab;频谱分析

目 录

一 设计任务目的及要求............................................... 1

1.1设计目的及意义............................................... 1 1.2设计要求..................................................... 1 二 原理与模块介绍................................................... 3

2.1 频分复用通信系统模型建立 .................................... 3 2.2 语音信号采样 ................................................ 6 2.3 语音信号的调制 .............................................. 8 2.4滤波器的设计................................................. 9

2.4.1 巴特沃斯滤波器......................................... 9 2.4.2 切比雪夫I型滤波器.................................... 10 2.4.3 椭圆滤波器............................................ 11 2.5 信道噪声 ................................................... 13 三 设计内容........................................................ 16

3.1 设计流程图 ................................................. 16 3.2 语音信号的时域和频域仿真 ................................... 16

3.2.1 信号的时域仿真........................................ 16 3.2.2信号频域仿真 .......................................... 17 3.3 复用信号的频谱仿真 ......................................... 17 3.4传输信号的仿真.............................................. 18 3.5 解调信号的频谱仿真 ......................................... 19 3.6恢复信号的时域与频域仿真.................................... 20 总 结............................................................. 22 参考文献........................................................... 24 附 录............................................................. 25

一 设计任务目的及要求

1.1设计目的及意义

要求学生应用所学知识,对通信系统中的典型部件电路进行方案设计、分析制作与调测电路。通过本专题设计,掌握频分复用的原理,熟悉简单复用系统的设计方法。

频分复用要求总频率宽度大于各个子信道频率之和,同时为了保证各子信道中所传输的信号互不干扰,应在各子信道之间设立隔离带,这样就保证了各路信号互不干扰。频分复用是通信中广泛使用的一种通信方式。频分复用技术可以使不同的用户分配在时隙相同而频率不同的信道上传输。本次课程设计要求设计三路频分复用系统。通过这次课程设计欲达到以下目的:巩固课程所学的有关理论知识;加深对频分复用系统的理解和掌握;掌握带通滤波器和低通滤波器的设计;掌握MATLAB软件的基本使用;学会使用MATLAB软件进行一些仿真和设计。

1.2设计要求

1.2.1课程设计的内容

根据频分复用的通信原理,运用Matlab软件采集两路以上的语音信号,选择合适的高频载波进行调制,得到复用信号。然后设计必要的带通滤波器、低通滤波器,从复用信号中恢复所采集的语音信号。整个过程运用Matlab进行仿真,并对各个信号进行时域和频域分析。

1.2.2课程设计的要求与数据

(1)根据频分复用原理,设计三路频分复用系统。

(2)使用MATLAB语言产生三个不同频段的信号,画出三个信号的时域波形。 (3)对产生的三个信号进行频谱分析。 (4)将三路信号叠加为一路信号。

(5)根据三路信号的频谱特点设计三个合适的带通滤波器。 (6)用设计的滤波器对信号进行滤波。

(7)分析得到的信号的频谱,并画出滤波后的信号的时域波形和频谱图。

1

1.2.3课程设计应完成的工作

(1)利用MATLAB语言产生三个不同频段的信号。 (2)对产生的三个信号进行FFT变换。 (3)将三路信号叠加为一路信号。

(4)根据三路信号的频谱特点得到性能指标,由性能指标设计三个滤波器。 (5)用设计的滤波器对信号进行滤波,并对其频谱图进行分析。 (6)分析得到信号的频谱,并画出滤波后信号的时域波形和频谱。

2

二 原理与模块介绍

2.1 频分复用通信系统模型建立

传统的频分复用典型的应用莫过于广电HFC网络电视信号的传输了,不管是模拟电视信号还是数字电视信号都是如此,因为对于数字电视信号而言,尽管在每一个频道(8MHz)以内是时分复用传输的,但各个频道之间仍然是以频分复用的方式传输的。

频分多址(FDMA)是使用最早、目前使用较多的一种多址接入方式,广泛应用于卫星通信、移动通信、一点多址微波通信系统中。

FDMA通信系统核心的思想是频分复用(FDM),复用是一种将若干个彼此的信号合并为一个可在同一个信道上传送的复合信号的方法。例如,在电话通信系统中,语音信号频谱在300—3400Hz内,而一条干线的通信资源往往远大于传送一路语音信号所需的带宽。这时,如果用一条干线只传一路语音信号会使资源大大的浪费,所以常用的方法是“复用”,使一条干线上同时传输几路电话信号,提高资源利用率。

频分复用(FDM)是信道复用按频率区分信号,即将信号资源划分为多个子频带,每个子频带占用不同的频率,如图(1)所示。然后把需要在同一信道上同时传输的多个信号的频谱调制到不同的频带上,合并在一起不会相互影响,并且能再接收端彼此分离开。

频分复用的关键技术是频谱搬移技术,该技术是用混频来实现的。混频的原理,如图(2)所示。

混频过程的时域表示式为: s(t)

x(t)cos(2f0t) (1)

3

图 1 频分复用的子频带划分

其双边带频谱结构如图(3)所示。其中,下边带也称为反转边带,从低到高的频率分量是基带频率分量的翻转,双边带频谱经过低通滤波就可以得到下边带;上边带也称为正立边带,从低到高频率分量与基带频率分量一致,双边带频谱经过高通滤波就可以得到上边带。

图 2 混频原理

图 3 双边带频谱结构

从图(3)可以看出上、下边带所包含的信息相同,所以恢复原始数据信息

4

只要上边带和下边带的其中之一即可。另外,混频器本身不是线性设备。线性设备的输出与输入信号具有相同的频率成分,只以幅度和相位的不同来区分。但是,混频器所对应的调制方式之所以称之为“线性调制”,主要是由于从频谱的角度只进行了简单的搬移。

在FDMA通信系统中,首先把传输频带划分为若干个较窄的且互不重叠的子频带,每个用户分配带一个固定子频带,按频带区分用户,如图(4)所示。信号调制到该子频带内,各用户信号同时传送,接收时分别按频带提取信号,实现多址通信。所以FDMA实现的是频率域上的正交性。其中FDMA的正交分割条件为:

f2f11,nmxm(f)xn(f)df0,nm (2)

如果用理想滤波器分割各用户信号,不需要保护间隔也能满足正交分割条件。但是,理想滤波器在工程上是不可能实现的,则各信号间总存在一定的相关性,总会有一定的干扰。因此各频带之间需留有一定的保护间隔以减少各频带之间的串扰。

FDMA有采用模拟调制的,也有采用数字调制方式的,可以由一组模拟信号用频分复用方式(FDM/FDMA)或一组数字信号用时分复用方式(TDM/FDMA)占用一个较宽的频带,调制到相应的子频带后传送到同一个地址。

图 4 频分多址的子频带划分

通过前面的分析可以得出FDMA通信系统之所以可以使不同的用户分配在时隙相同而频率不同的信道上传输,其核心的思想是频分复用。即不同的信号运

5

用不同的载波进行调制,而载波带宽被划分为多种不同频带的子信道,每个子信道可以并行传送一路信号。而接收端通过不同的带通滤波器将各路不同的信号提取出来,再通过解调和低通滤波器,进而恢复原始信号。从而可以得到如图(5)所示的简化FDMA通信模型。

2.2 语音信号采样

语音信号的采样即为信号的抽样过程,是把连续时间模拟信号转换成离散时间连续幅度的抽样信号,其实质就是用一固定频率的抽样信号周期性的读出或测量该连续时间模拟信号。设抽样信号的频率为

fs,则抽样周期为Ts。抽样以后

的信号仍为模拟量,只不过是时间上离散的脉冲调制信号。如图(6)所示,f(t)为输入的被抽样信号,p(t)为抽样信号,而f0(t)为抽样后输出信号。理想的抽样应是冲激序列,但实际抽样通常是平顶抽样或自然抽样。

图5 频分复用通信系统模型

6

图 6 抽样过程波形

抽样的理论基础是抽烟定理,它说明在什么条件下能从抽样输出信号f0(t)中恢复输入信号f(t)。根据频谱分析理论,只有抽样信号的频率不发生重叠现象时,抽样的频谱才能与信号频谱相一致。因此,抽样定理可表述为:为了使抽样信号f0(t)能完全恢复连续信号f(t),抽样信号重复频率的

fHfs必须大于等于2倍

fH为包含任何干扰在内的信号f(t)的最高有效频率,即

fs2fH

其中,

fs2fH (3)

为奈奎斯特频率。

fs由于实际滤波器特性的不理想,抽样频率5倍

fH通常都有高于

fH,一般取3到

fs。语音信号频谱在300—3400Hz内,由(3)式可知语音采样频率必须

大于6.8KHz。在MATLAB数据采集箱中提供语音采集wavrecord命令,wavrecord命令利用Windows 音频输入设备记录声音,其调用形式为:wavrecord (n ,fs ,ch)。利用Windows音频输入设备记录n个音频采样, 频率为fs Hz ,通道数为ch。采样值返回到一个大小为n*ch 的矩阵中。缺省时,fs = 11025 ,ch = 1。其中MATLAB提供的标准音频采样频率有:8000、11025、22050 和44100Hz。

7

为了保证语音的质量,本次设计中取语音信号的采用频率为44100Hz,该采样频率为语音信号CD音质。语音信号采集后,可以用MATLAB数据采集箱中wavwrite命令保存采集的语音信号。

2.3 语音信号的调制

语音信号的调制即为频分复用的混频过程,该过程关键是对各路语音信号载波频率的选取。混频过程的时域表示式如前面的(1)式所示,为双边带信号(DSB),它的带宽是基带信号带宽

fH的2倍,即调制后的带宽为:

2fH B (4)

为了使各个信号不会相互干扰,各个载频的间隔既要大于调制后带宽B,设各载波的频率间隔为

fg,由于

fH3.4kHz,所以

(5)

fa

fgB2fH23.4kHz6.8kHz另外,在选取各路信号载波频率时,还需要考虑混叠频率率,就是当利用一个抽样频率为的最高频率。任何大于

fafs。所谓混叠频

的离散时间系统进行信号处理时信号所允许

的分量都将重叠起来而不能恢复,并使正规频带内的

信号也变得模糊起来。根据抽样定理可知: 由于前面语音信号采样频率

fa12fa12fs (6) ,所以混叠频率:

(7)

fs44.1kHzfs1244.1kHz22.05kHzfg综合上述考虑,由(5)式可取载波频率间隔最高载波频率要小于

fc1为fc3为

fa为

为7000Hz,由(7)式可知

22050Hz,如果本次设计取第1路语音信号的载波频率

fc24000Hz,则第2路信号的载波频率18000Hz。同时满足最高载波频率

为11000Hz,第3路信号的载波频率

fc3fa的要求。

根据前面的混频原理,可以得到如图(7)所示的频谱结构。

8

图 7 三路语音信号调制后频谱结构

2.4滤波器的设计

2.4.1 巴特沃斯滤波器

巴特沃斯滤波器是电子滤波器的一种。巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。 在振幅的对数对角频率的波得图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。

巴特沃斯低通滤波器可用如下振幅的平方对频率的公式表示:

(2.2)

其中,n = 滤波器的阶数,ωc =截止频率 =振幅下降为 -3分贝时的 频率,ωp = 通频带边缘频率。

n阶巴特沃斯低通滤波器的振幅和频率关系可用如下的公式表示:

(2.3)

G 表示滤波器的放大率, H 表示 转移函数, j 是 虚数单位, n 表示滤波器的级数, ω 是信号的 角频率,以弧度/秒 为单位, ωc 是振幅下降3

9

分贝时的截止频率。

MATLAB信号处理工具箱提供巴特沃斯滤波器设计函数buttord和butter。 [n,Wn]=butterd(Wp,Ws,Rp,Rs,’s’)——在给定滤波器性能的情况下(通带临界频率Wp、阻带临界频率Ws、通带内最大衰减Rp和阻带内最小衰减Rs),计算ButterWorth滤波器的阶数n和截止频率Wn。

[b,a]=butter(n,Wn,’s’)——根据阶数n和截止频率Wn计算ButterWorth滤波器分子分母系数(b为分子系数的矢量形式,a为分母系数的矢量形式)。

2.4.2 切比雪夫I型滤波器

切比雪夫滤波器(又译车比雪夫滤波器)是在通带或阻带上频率响应幅度等波纹波动的滤波器。在通带波动的为“I型切比雪夫滤波器”,在阻带波动的为“II型切比雪夫滤波器”。切比雪夫滤波器在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。

n阶第一类切比雪夫滤波器的幅度与频率的关系可用下列公式表示:

(2.4)

其中:| ε | < 1 ,而 (2.5)是滤波器在截止频率

ω0的放大率 ,是 n阶切比雪夫多项式:

(2.6)

10

MATLAB信号处理工具箱提供切比雪夫Ⅰ型滤波器设计函数有cheb1ap、cheb1ord和cheby1:

数字域:[b,a]=cheby1(n,Rp,Wn)可设计出n阶chebyshevI滤波器,其截止频率由Wn确定,通带内的波纹由Rp确定 [b,a]=cheby1(n,Rp,Wn,’ftype’)

当ftype=high时,可设计出截止频率为Wn的高通滤波器; 当ftype=stop时,可设计出带阻滤波器 [z,p,k]=cheby1(n,Rp,Wn)

[zp,k]= cheby1 (n,Rp,Wn,’ftype’) [A,B,C,D]= cheby1 (n,Rp,Wn)

[A,B,C,D]= cheby1 (n,Rp,Wn,’ftype’)

模拟域:[b,a]= cheby1 (n,Rp,Wn,’s’)可设计出截止频率为Wn的n阶chebyshevI型模拟滤波器,其余形式类似于数字域的。 2.4.3 椭圆滤波器

椭圆滤波器特点:幅值响应在通带和阻带内都是等波纹的,对于给定的阶数和给定的波纹要求,椭圆滤波器能获得较其它滤波器为窄的过渡带宽。椭圆滤波器可以获得对理想滤波器幅频响应的最好逼近。

低通椭圆滤波器的频率响应的幅度为:

(2.7)

MATLAB信号处理工具箱提供椭圆滤波器设计函数ellipap 、ellipord和ellip:

[z,p,k]=ellipap(N,Rp,As) ——用于计算N阶归一化中滤波器的零点向量

z、极点向量p和增益因子k。Rp和As分别为通带最大衰减和阻带最小衰减。 [N,wpo]=ellipord(wp,ws,Rp,As,‘s’)——。用于计算满足指标的椭圆模拟滤波器的最低阶数N和通带边界频率wpo,指标要求由参数(wp,ws,Rp,As)给定。

11

[b,a]=ellip(n,Rp,Rs,Wn,’ftype’,‘s‘)——计算椭圆滤波器系统函数系数向量b和a。当ftype=high时,可设计出截止频率为Wn的高通滤波器;当ftype=stop时,可设计出带阻滤波器

2.4.4 以上类型滤波器的比较

图2.6是各滤波器频域响应图:巴特沃斯滤波器(左上)和同阶第一类切比雪夫滤波器(右上)、第二类切比雪夫滤波器(左下)、椭圆函数滤波器(右下)的频率响应图。

巴特沃斯滤波器的衰减速度比其他类型滤波器缓慢,但十分平坦,没有幅度变化。

两类切比雪夫滤波器比巴特沃斯滤波器陡峭; 但不如椭圆函数滤波器,然而后者幅度波动较大。

椭圆滤波器比其他滤波器更陡,因此在选择滤波器的时候,椭圆滤波器能够以较低的阶数获得较窄的过渡带宽,但是它在通带和阻带上都有波动。

12

2.5 信道噪声

信道中存在不需要的电信号统称为噪声。通信系统中的噪声是叠加在信号上的,没有传输信号时通信系统中也有噪声,噪声是永远存在于通信系统中的。噪声可以看成是信道中的一种干扰,也称为加性噪声,因为它是叠加在信号之上的。最基本的调制信道有一对输入端和一对输出端,其输入端信号电压ei(t)和输出端电压eo(t)间的关系可以用下式表示:

eo(t)f[ei(t)]n(t) (11)

式中:ei(t)为信道输入端信号电压;eo(t)为信道输出端得信号电压;n(t)为噪声电压。由于信道中的噪声n(t)是叠加在信号上的,而且无论有无信号,噪声

n(t)是始终存在的。当没有信号输入时,信道输出端也有加性干扰输出。f[ei(t)]表示信道输入和输出电压之间的函数关系。所以在信道数学分析时,可以假设

f[ei(t)]k(t)ei(t),即信道的作用相当于对输入信号乘一个系数k(t)。这样,式

(11)就可以改写为: eo(t)k(t)ei(t)n(t) (12)

式(12)就是调制信道的一般数学模型。其数学模型图可以图(8)所示。k(t)是一个很复杂的函数,它反映信道的特征。一般说来,它是时间t的函数。

图 8 调制信道数学模型

噪声又可以分为认为噪声和自然噪声两大类。其中以自然噪声最难处理,而自然噪声中最重要的噪声为热噪声。由于在一般通信系统的工作频率范围内热噪声的频谱是均匀分布的,所以热噪声又常称为白噪声。由于热噪声是由大量自由电子的运动产生的,其统计特性服从高斯分布,故常将热噪声称为高斯白噪声。所以本次设计中模拟信道噪声可以用MATLAB软件加入一个随机的高斯白噪声在

13

复用信号中。

14

15

三 设计内容

3.1 设计流程图

开始 产生三个不同频段的信号 进行DFT变换 信号叠加 滤波器设计 滤波 还原出原始信号

3.2 语音信号的时域和频域仿真

3.2.1 信号的时域仿真

使用MATLAB软件可以对采集的语音信号进行时域和频域分析。可以使用subplot(m,n,p)或者subplot(m n p)将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是

16

结束 排成一行的,一共m行,p则是指要把曲线画到figure中哪个图上。MATLAB中绘图命令plot(x,y),其含义是以x为横坐标,y为纵坐标,绘制图形。可得到如图(9)所示的时域分析图

图9 声音样本的时域分析

3.2.2信号频域仿真

频域分析主要是将3个声音样本信号sd1、sd2和sd3用MATLAB软件进行快速傅里叶变换后,再画出3个信号的频谱图。其中快速傅里叶变换可以直接用MATLAB中的fft命令,然后通过abs得到经过快速傅里叶变换后信号的振幅。最后用MATLAB中stem命令对于得到的离散序列实现其频谱图的绘制。可以得到如图(10)所示的声音信号频谱分析图。

3.3 复用信号的频谱仿真

在MATLAB软件中将采样的3路语音信号经过混频处理得到3路已调信号x1、x2和x3,再通过加法器将3路信号变为一路复用信号s,通过MATLAB软件中stem(t,abs(fft(s)),'.')命令对复用信号s进行了频谱分析,其频谱分析如图(11)所示。

17

图10 声音样本的频谱分析

图11 复用信号的频谱分析

3.4传输信号的仿真

我们都知道FDMA通信系统的复用信号传输是通过空气介质传输的,复用信号在空气传输中会有很多的噪声,其中主要是以高斯白噪声为主,所以在信号传输的设计仿真中,主要对复用信号加入高斯白噪声。

18

在MATLAB中可以通过awgn函数在某一信号中加入高斯白噪声,其调用方式为:y = awgn(x,SNR),其意义是在信号x中加入高斯白噪声;信噪比SNR以dB为单位,x的强度假定为0dBW。如果x是复数,就加入复噪声。通过前面的调制和信号复用设计后,得到了复用信号s,使用MATLAB中的awgn函数加入高斯白噪声后复用信号变为ys。为了使后面能够较好的恢复语音信号,所以在这里加入白噪声时,信噪比不能设置的太小。仿真发现大于20dB时失真比较小。图(12)为加入高斯白噪声后,复用信号ys的频谱图。

图12 加入高斯白噪声后复用信号的频谱分析

3.5 解调信号的频谱仿真

信号解调前,首先通过3个带通滤波器对复用信号s进行滤波,得到3路调制的语音信息y1、y2和y3,然后在对这三路信号进行解调,解调过程与调制的过程相同,使用与原来调制载波相同的信号分别与滤波后的3路信号相乘。得到3路解调信号y01、y02和y03。然后对各路信号使用MATLAB软件中的快速傅里叶变换函数fft进行变换,并通过MATLAB软件,得到的3路解调信号的频谱如图(13)所示。

19

图13 解调后信号的频谱图

3.6恢复信号的时域与频域仿真

语音信号的恢复就是将前面解调所得到的3路信号y01、y02和y03再通过低通滤波器使用filter函数滤波后,分别得到3路恢复的语音信号。然后调用MATLAB中的plot(t,yy1)函数和subplot函数对恢复的3路语音信号进行时域分析,其时域分析波形如图(14)所示。

20

图14 恢复信号的时域波形

图15 恢复信号的频谱图

同样调用MATLAB中的stem(t,abs(fft(yy1)))函数和subplot函数对恢复的3路语音信号进行频谱分析,其频谱如图(15)所示。

程序的最后为语音的再现,与前面语音播放一样,可以直接使用MATLAB中wavplay(yy1,fs)函数对语音1进行播放,其它两路信号播放方式相同。

21

总 结

本次课程设计中,老师给足了时间,是的我们充分利用了图书馆资源及网络资源,虽然课程设计中有一定的瑕疵,但还是相对满意的。经过这次课程设计,我不仅复习巩固了课堂所学的理论知识,还提高了对所学知识的应用。同时,以前课本中没有弄懂的问题,通过这次课程设计,使我有了更深入的了解。设计过程中,老师悉心辅导,一直参与设计过程中的修改解答,才使得设计完成。

22

23

参考文献

[1]《电子技术实验教程[M]》王紫婷 西南交大出版社 2001 [2]《通信原理》 王福昌 熊兆飞 黄本雄 清华大学出版社 2006 [3]《MATLAB仿真技术与应用教程》 钟麟 王峰 国防工业出版社 2003 [4]《MATLAB通信仿真与技术应用》刘敏 魏玲 国防工业出版社 2001 [5]《数字通信原理与技术》(第二版) 王兴亮西安电子科技大学出版社 2000 [6]《徐炳祥等通信原理(第5版) 》 樊昌信 北京国防工业出版社 2005

24

附 录

MATLAB仿真程序

%(1)获取录音文件 pause

fs=44100; %声音的采样频率为44.1Khz duration=3; %录音时间为3s fprintf('按任意键开始录音1:\\n'); pause

fprintf('录音中···\\n');

sd1=wavrecord(duration*fs,fs); %duration*fs每次获得总的采样数为132300,保存声

音文件名为sd1

fprintf('放音中···\\n'); wavplay(sd1,fs);

fprintf('录音1播放完毕。\\n');

wavwrite(sd1,fs,'sound1.wav'); %将录音文件保存为WAV格式的声音文件 fprintf('按任意键开始录音2:\\n'); pause

fprintf('录音中···\\n');

sd2=wavrecord(duration*fs,fs); fprintf('放音中···\\n'); wavplay(sd2,fs);

fprintf('录音2播放完毕。\\n'); wavwrite(sd2,fs,'sound2.wav'); fprintf('按任意键开始录音3:\\n'); pause

fprintf('录音中···\\n');

sd3=wavrecord(duration*fs,fs); fprintf('放音中···\\n'); wavplay(sd3,fs);

fprintf('录音3播放完毕。\\n'); wavwrite(sd3,fs,'sound3.wav');

%(2)声音样本的时域和频域分析

fprintf('按任意键开始声音样本的时域分析:\\n'); pause

fs=44100; %声音的采样频率为44.1Khz duration=3;

t=0:duration*fs-1; %总的采样数

[sd1,fs]=wavread('sound1.wav'); %打开保存的录音文件 [sd2,fs]=wavread('sound2.wav'); [sd3,fs]=wavread('sound3.wav');

25

figure(1) %图一为三个声音样本的时域波形 subplot(311)

plot(t,sd1);xlabel('单位:s');ylabel('幅度'); title('三个声音样本的时域波形'); subplot(312)

plot(t,sd2);xlabel('单位:s');ylabel('幅度'); subplot(313)

plot(t,sd3);xlabel('单位:s');ylabel('幅度');

fprintf('按任意键开始声音样本的频域分析:\\n'); pause

figure(2) %图二为三个声音样本的频谱分析 subplot(311)

stem(t,abs(fft(sd1)),'.'); %fft对声音信号进行快速傅里叶变换 xlabel('单位:Hz');ylabel('幅度'); title('三个声音样本的频谱分析'); subplot(312)

stem(t,abs(fft(sd2)),'.');xlabel('单位:Hz');ylabel('幅度'); subplot(313)

stem(t,abs(fft(sd3)),'.');xlabel('单位:Hz');ylabel('幅度'); %(3)调制,将三个声音信号用高频载波进行调制

fprintf('按任意键开始信号的调制和复用信号频域分析:\\n'); pause

x1=4*sd1'.*cos(2*pi*4000*t/fs); x2=4*sd2'.*cos(2*pi*11000*t/fs); x3=4*sd3'.*cos(2*pi*18000*t/fs); s=x1+x2+x3; figure(3)

stem(t,abs(fft(s)),'.');xlabel('单位:Hz');ylabel('幅度'); title('复用信号的频谱分析'); %(4)信号传输仿真设计

fprintf('按任意键开始信道仿真设计:\\n'); %加入高斯白噪声 pause

ys=awgn(s,20);

snr=10*log10((s*s')/((s-ys)*(s-ys)'));

snr %计算信噪比 figure(4)

stem(t,abs(fft(ys)),'.');xlabel('单位:Hz');ylabel('幅度'); title('加入高斯白噪声后复用信号的频谱分析'); %(5)带通滤波器的设计

fprintf('按任意键开始带通滤波器的设计:\\n'); pause Rp=0.5; Rs=40;

26

Wp1=[4000 8000]/22050; Ws1=[3800 8500]/22050;

[n1,Wn1]=cheb2ord(Wp1,Ws1,Rp,Rs); [b1,a1]=cheby2(n1,Rs,Wn1); [h1,w1]=freqz(b1,a1); mag1=abs(h1);

db1=20*log10((mag1+eps)/max(mag1)); Wp2=[9000 13000]/22050; Ws2=[8000 14000]/22050;

[n2,Wn2]=cheb2ord(Wp2,Ws2,Rp,Rs); [b2,a2]=cheby2(n2,Rs,Wn2); [h2,w2]=freqz(b2,a2); mag2=abs(h2);

db2=20*log10((mag2+eps)/max(mag2)); Wp3=[14500 18500]/22050; Ws3=[14000 19000]/22050;

[n3,Wn3]=cheb2ord(Wp3,Ws3,Rp,Rs); [b3,a3]=cheby2(n3,Rs,Wn3); [h3,w3]=freqz(b3,a3); mag3=abs(h3);

db3=20*log10((mag3+eps)/max(mag3)); figure(5);

subplot(3,1,1);

plot(w1/pi,db1);axis([0 1 -50 20]);xlabel('w/pi');ylabel('20lg|H(ejw)|'); title('用切比雪夫2型设计三个带通滤波器'); subplot(3,1,2);

plot(w2/pi,db2);axis([0 1 -50 20]);xlabel('w/pi');ylabel('20lg|H(ejw)|'); subplot(3,1,3);

plot(w3/pi,db3);axis([0 1 -50 20]);xlabel('w/pi');ylabel('20lg|H(ejw)|'); y1=filter(b1,a1,ys); y2=filter(b2,a2,ys); y3=filter(b3,a3,ys); %(6)解调

fprintf('按任意键开始信号的解调和3路信号频域分析:\\n'); pause fs=44100;

y01=y1.*cos(2*pi*4000*t/fs); y02=y2.*cos(2*pi*11000*t/fs); y03=y3.*cos(2*pi*18000*t/fs); figure(6) subplot(311)

stem(t,abs(fft(y01)),'.');xlabel('单位:Hz');ylabel('幅度'); title('解调后的3路信号各自的频谱图');

27

subplot(312)

stem(t,abs(fft(y02)),'.');xlabel('单位:Hz');ylabel('幅度'); subplot(313)

stem(t,abs(fft(y03)),'.');xlabel('单位:Hz');ylabel('幅度'); %(7)低通滤波

fprintf('按任意键开始低通滤波器的设计:\\n'); pause Rp=0.5; Rs=40;

Wp1=3400/22050; Ws1=4000/22050;

[n1,Wn1]=cheb2ord(Wp1,Ws1,Rp,Rs); [b1,a1]=cheby2(n1,Rs,Wn1); [h1,w1]=freqz(b1,a1); mag1=abs(h1);

db1=20*log10((mag1+eps)/max(mag1)); figure(7);

plot(w1/pi,db1); axis([0 1 -50 20]); xlabel('w/pi');

ylabel('20lg|H(ejw)|');

title('低通滤波器的频率响应');

%(8)恢复信号的时域波形和频谱分析

fprintf('按任意键开始恢复信号以及3路信号时域分析:\\n'); pause

yy1=filter(b1,a1,y01); yy2=filter(b1,a1,y02); yy3=filter(b1,a1,y03);

figure(8) %图七恢复信号的时域波形 subplot(311)

plot(t,yy1);xlabel('单位:s');ylabel('幅度'); title('恢复信号的时域波形'); subplot(312)

plot(t,yy2);xlabel('单位:s');ylabel('幅度'); subplot(313)

plot(t,yy3);xlabel('单位:s');ylabel('幅度');

fprintf('按任意键开始3路信号频域分析:\\n'); pause

figure(9) %图八恢复信号的频谱分析 subplot(311)

stem(t,abs(fft(yy1)));xlabel('单位:Hz');ylabel('幅度'); title('恢复信号的频谱分析'); subplot(312)

28

stem(t,abs(fft(yy2)));xlabel('单位:Hz');ylabel('幅度'); subplot(313)

stem(t,abs(fft(yy3)));xlabel('单位:Hz');ylabel('幅度'); fprintf('按任意键使声音再现:\\n'); pause

fprintf('放音中···\\n'); wavplay(yy1,fs); wavplay(yy2,fs); Wavplay(yy3,fs);

fprintf('放音完毕,仿真结束!\\n');

29

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- stra.cn 版权所有 赣ICP备2024042791号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务