您好,欢迎访问三七文档
摘要《信号与系统》课程是一门理论和技术发展十分迅速、应用非常广泛的前沿性学科,它的理论性和实践性都很强。复用是一种将若干个彼此独立的信号,合并为一个可在同一信道上同时传输的复合信号的方法。可以把它们的频谱调制到不同的频段,合并在一起而不致相互影响,并能在接收端彼此分离开来。按频率区分信号的方法叫频分复用。我们在生活中接触到得大部分都是模拟信号,而计算机只能对数字信号进行处理。我们可以通过FFT变换,通过对模拟信号采样,使其变成数字信号,本设计就是通过FFT来实现的。Matlab语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,Matlab功能强大、简单易学、编程效率高。它的工具箱里有很多函数可以方便的对信号进行分析与处理。本设计是用FFT实现对三个同频带信号的频分复用,就是通过Matlab语言来实现的。本设计报告分析了数字信号处理课程设计的过程。用Matlab进行数字信号处理课程设计的思路,并阐述了课程设计的具体方法、步骤和内容。关键词:数字信号处理;滤波器设计;MATLAB;频谱分析1设计任务目的及要求1.1设计目的巩固已经学过的知识,加深对知识的理解和应用,加强学科间的横向联系,学会应用MATLAB对实际问题进行仿真,并设计MUI界面。1.2设计要求一、课程设计的内容选择三个不同频段的信号对其进行频谱分析,根据信号的频谱特征设计三个不同的数字滤波器,将三路信号合成一路信号,分析合成信号的时域和频域特点,然后将合成信号分别通过设计好的三个数字滤波器,分离出原来的三路信号,分析得到的三路信号的时域波形和频谱,与原始信号进行比较,说明频分复用的特点。二、课程设计的要求与数据(1)熟悉离散信号和系统的时域特性。(2)掌握数字信号处理的基本概念,基本理论和基本方法。(3)掌握序列傅里叶变换的计算机实现方法,利用序列傅里叶变换对离散间可以分别调整。(4)学会MATLAB的使用,掌握MATLAB的程序设计方法。(5)掌握MATLAB设计FIR和IIR数字滤波器的方法。(6)掌握GUI界面的设计方法三、课程设计应完成的工作(1)利用MATLAB语言产生三个不同频段的信号。(2)对产生的三个信号进行FFT变换。(3)将三路信号叠加为一路信号。(4)根据三路信号的频谱特点得到性能指标,由性能指标设计三个滤波器。(5)用设计的滤波器对信号进行滤波,并对其频谱图进行分析。(6)分析得到信号的频谱,并画出滤波后信号的时域波形和频谱。2原理与模块介绍2.1快速傅里叶变换FFT原理快速傅立叶变换(FFT)算法长度为N的序列的离散傅立叶变换为:N点的DFT可以分解为两个N/2点的DFT,每个N/2点的DFT又可以分解为两个N/4点的DFT。依此类推,当N为2的整数次幂时(),由于每分解一次降低一阶幂次,所以通过M次的分解,最后全部成为一系列2点DFT运算。以上就是按时间抽取的快速傅立叶变换(FFT)算法。当需要进行变换的序列的长度不是2的整数次方的时候,为了使用以2为基的FFT,可以用末尾补零的方法,使其长度延长至2的整数次方。序列的离散傅立叶反变换为离散傅立叶反变换与正变换的区别在于变为,并多了一个的运算。因为和对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此可将FFT和快速傅立叶反变换(IFFT)算法合并在同一个程序中。若信号是模拟信号,用FFT进行谱分析时,首先必须对信号进行采样,使之变成离散信号,然后就可按照前面的方法用FFT来对连续信号进行谱分析。按采样定理,采样频率应大于2倍信号的最高频率,为了满足采样定理,一般在采样之前要设置一个抗混叠低通滤波器。2.2频分复用原理复用是一种将若干个彼此独立的信号,合并为一个可在同一信道上同时传输的复合信号的方法。比如,传输的语音信号的频谱一般在300~3400Hz内,为了使若干个这种信号能在同一信道上传输,可以把它们的频谱调制到不同的频段,合并在一起而不致相互影响,并能在接收端彼此分离开来。按频率分割信号的方法称为频分复用,频分复用(FDM,FrequencyDivisionMultiplexing)就是将用于传输信道的总带宽划分成若干个子频带(或称子信道),每一个子信道传输1路信号。频分复用要求总频率宽度大于各个子信道频率之和,同时为了保证各子信道中所传输的信号互不干扰,应在各子信道之间设立隔离带,这样就保证了各路信号互不干扰(条件之一)。频分复用技术的特点是所有子信道传输的信号以并行的方式工作,每一路信号传输时可不考虑传输时延,因而频分复用技术取得了非常广泛的应用。2.3滤波器原理数字滤波器可分为FIR(有限脉冲响应)和IIR(无限脉冲响应)两种。IIR滤波器的系统函数是两个Z的多项式的有理分式,而FIR滤波器的分母为1,即只有一个分子多项式。本次实验采用的是巴特沃斯滤波器,把buttord函数和butter函数结合起来,就可以设计任意的巴特沃斯IIR滤波器。根据输入量的不同,它有以下几种形式:[b,a]=butter(N,wc,’high’):设计N阶高通滤波器,wc为它的3dB边缘频率,以Π为单位,故0≤w≤1。[b,a]=butter(N,wc):当wc为具有两个元素的矢量wc=[w1,w2]时,它设计2N阶带通滤波器,3dB通带w1≤w≤w2,w单位为Π。[b,a]=butter(N,wc,’stop’):若wc=[w1,w2],则它设计2N阶带阻滤波器,3dB通带为w1≤w≤w2,w单位为Π。为了设计任意的选频巴特沃斯滤波器,必须知道阶数N和3dB边缘频率矢量wc。这可以直接利用信号处理工具箱中的buttord函数计算。如果已知滤波器指标wp,ws,Rp,As,则调用格式为[N,wc]=buttord(wp,ws,Rp,As)对于不同类型的滤波器,参数wp和ws有一些限制:对于低通滤波器,wpws;对于高通滤波器,wpws;对于带通滤波器,wp和ws分别为具有两个元素的矢量,wp=[wp1,wp2]和ws=[ws1,ws2],并且ws1wp1wp2ws2;对于带阻滤波器wp1ws1ws2wp2。有些情况下,还对滤波器的相位特性提出要求,理想的是线性相位特性,即移与频率成线性关系。实际的滤波器不可能完全实现理想幅频特性,必有一定误差,因此要规定适当的指标。以低通滤波器为例,在[0,wp]的通带区,幅频特性会在1附近波动;在ws~1的阻带区,幅频特性不会真等于零是一个大于零的值;wp也不可能等于ws,在[wp,ws]之间,为过渡区;这三个与理想特性的不同点,就构成了滤波器的指标体系。即通带频率wp和通带波动,阻带频率ws和阻带衰减。在许多情况下,人们习惯用分贝为单位,定义通带波动为(分贝)阻带衰减为(分贝)。对于带通滤波器,wp应表为[wp1,wp2];对于带阻滤波器,ws应表为[ws1,ws2]。其他复杂形状的预期特性通常也可由若干理想的幅频特性叠合构成。3设计内容3.1设计产生三个信号通过Matlab软件自己编程产生三个同频带不同频率的模拟信号,编程如下。t=-1:0.001:1;n=1:256;N=512;fs=1000;x1=cos(150*pi*t);f1=n*fs/N;figure(1);subplot(3,1,1)plot(x1);title('x1的时域波形');xlabel('x1的时间');ylabel('x1的幅值');axis([0,100,-1,1])x2=cos(320*pi*t);subplot(3,1,2)plot(x2);title('x2的时域波形');xlabel('x2的时间');ylabel('x2的幅值');axis([0,100,-1,1])x3=cos(450*pi*t);subplot(3,1,3)plot(x3);title('x3的时域波形');xlabel('x3的时间');ylabel('x3的幅值');axis([0,100,-1,1])三个信号的时域波形:3.2对三个信号进行FFT变换通过Matlab编程对产生的三个信号进行FFT变换,从而生成频谱波形图。y1=fft(x1,512);figure(2);subplot(3,1,1)plot(f1,abs(y1(1:256)));title('x1的频域波形');xlabel('x1的频率(Hz)');ylabel('x1的幅值');axis([0,500,0,250])y2=fft(x2,512);subplot(3,1,2)plot(f1,abs(y2(1:256)));title('x2的频域波形');xlabel('x2的频率(Hz)');ylabel('x2的幅值');axis([0,500,0,250])y3=fft(x3,512);subplot(3,1,3)plot(f1,abs(y3(1:256)));title('x3的频域波形');xlabel('x3的频率(Hz)');ylabel('x3的幅值');axis([0,500,0,250])三个信号的频域波形:3.3三个信号的叠加的时域和频域x=x1+x2+x3;figure(3)subplot(211);plot(x(1:100));title('三个信号叠加的时域波形');y=fft(x,512);subplot(212);plot(f1,abs(y(1:256)));title('三个信号叠加的频谱')axis([0,600,0,250])3.4滤波器设计3.4.1低通滤波器设计本次试验的三个频率分别为75、160、225,所以低通滤波器设计如下:Wp=2*pi*75;Ws=2*pi*100;Rp=1;As=30;[N,wc]=buttord(Wp,Ws,Rp,As,'s');[b,a]=butter(N,wc,'s');k=1:512;fk=0:1000/1024:1000;wk=2*pi*fk;Hk=freqs(b,a,wk);figure(4);plot(fk,abs(Hk));gridon;xlabel('频率(Hz)');ylabel('幅度');axis([0,200,0,1.1])低通滤波器频域图:3.4.2带通滤波器2设计该滤波器主要用于滤出信号X2即160的频率,所以滤波器的设计如下:wp=2*pi*[140,200];ws=2*pi*[120,230];Rp=1;As=30;[N,wc]=buttord(wp,ws,Rp,As,'s');[B1,A1]=butter(N,wc,'s');k=0:511;fk=0:1000/512:1000;wk=2*pi*fk;Hk=freqs(B1,A1,wk);figure(6)plot(fk,20*log10(abs(Hk)));gridontitle('带通滤波器的频响2')xlabel('频率(Hz)');ylabel('幅度(dB)')axis([100,400,-40,5])3.4.3带通滤波器3设计该滤波器主要用于滤出信号X3即225的频率,所以滤波器的设计如下:wp=2*pi*[260,320];ws=2*pi*[240,350];Rp=1;As=30;[N,wc]=buttord(wp,ws,Rp,As,'s');[B2,A2]=butter(N,wc,'s');k=0:511;fk=-1000:1000/512:1000;wk=2*pi*fk;Hk=freqs(B2,A2,wk);figure(8)plot(fk,20*log10(abs(Hk)));gridontitle('带通滤波器的频响3')xlabel('频率(Hz)');ylabel('幅度(dB)')axis([100,400,-40,5])3.5用设计的滤波器对信号进行滤波滤波后的频谱图跟原信号的频谱图有一点差别,这是因为设计的滤波器不可能完全达到理想状态。3.5.1用低通滤波器对x进行滤波[Bz,Az]=bilinear(b,a,1000);y=filter(Bz,Az,x);Y1=fft(y,512);figure
本文标题:频分复用
链接地址:https://www.777doc.com/doc-5404969 .html