欢迎来到天天文库
浏览记录
ID:43768231
大小:408.21 KB
页数:9页
时间:2019-10-14
《基于MATLAB的信号频谱分析及实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数字信号处理课程设计题目:基于MATLAB的信号频谱分析及实现学院:信息工程专业:通信工程班级:1001学号:2010013448,2010013466姓名:常珍珍,彭婷指导教师:符茂胜目录1>背景32、设计目的33、设计原理34、设计过程45、实验代码及结果45.1MATLAB源程序45.2比较结果分析86、实验体会及总结8参考文献91、背景信号的频谱分析就是利用傅里叶分析的方法,求出与时域描述相对应的频域描述,从中找出信号频谱的变化规律,以达到特征提取的目的。实际的待分析信号一般没有解析式,直接利用公式进行傅里
2、叶分析非常I木I难。DFT是一种时域和频域均离散化的傅里叶变换,适合数值计算且有快速算法,是分析信号的有力工具。本文以连续时间信号为例,介绍利用DFT分析信号频谱的基本流程,实例列出MATLAB环境下频谱分析的实现程序。2、设计目的1、进一步掌握数字信号处理课程的基本理论、基本方法和基本技术。2、增进对MATLAB的认识,利用MATLAB加深对理论知识的理解。3、了解和掌握使用MATLAB的应用过稈和方法,为以后的设讣打下良好基础。4、通过课程设计,培养我们能根据设计要求,进行理论知识分析、设计方法总结、典型实例设
3、计等方面的设计综合能力。3、设计原理①时域抽样定理:时域抽样定理给出了连续信号抽样过程屮信号不失真的约束条件:对于基带信号,信号抽样频率fsam大于等于2倍的信号最高频率fm,即fsam»2九。时域抽样是把连续信号X(r)变成适于数字系统处理的离散信号X[k]。对连续信号X(f)以间隔T抽样,则可得到的离散序列为X[k]=X(kT)t=kT°若X[k]=X(好)=kT,则信号X⑴与X[k]的频谱之间存在:X(/)专£x(j⑹-叫nJ)其屮,X(ejQ)的频谱为X(je),X[k]的频谱为①离散傅立叶变换(DFT)
4、:有限长序列川>)的离散傅立叶变换(DFT)为N-X伙)=DFT[x(n)]=工兀⑺),0?<^-1/?=()逆变换为1N-1%(/?)=IDFT[X(k)]=—^X(k)W-kH,05、,x可以为一向量或矩阵,若x为一向量,y是x的FFT且和x相同长度;若x为一矩阵,则y是对矩阵的每一列向量进行FFT。如果x长度是2的幕次方,函数fft执行高速基一2FFT算法,否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。函数执行N点的FFT,若x为向量且长度小于N,则函数将x补零至长度N;若向量x的长度大于N,则函数截短x使Z长度为N;若x为矩阵,按相同方法对x进行处理。4、设计过程1、利用MATLAB小的wnvr6、ead命令来读入(采集)语音信号,将它赋值给某一向量。再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析。对于波形图与频谱图都可以用MATLAB画出。我们还可以通过sound命令來对语音信号进行冋放,以便在听觉上來感受声音变化。2、DFT:已知一个语音信号,数据采样频率为100Hz,试分别绘制N=128点DFT的幅频图和N=1024点DFT幅频图。3、通过改变系统函数的分子与分母系数比,来观察信号滤波前后的幅值与相位。5、实验代码及结果5.1MATLAB源程序(1)编程如下:[x,fs,bits]=wav7、read(,l.wav',[10245120]);sound(x,fs,bits);X=fft(x,4096);magX=abs(X);angX=angle(X);subplot(2,2,l);plot(x);title(,lM始信号波形J;subplot(2,2,2);plot(X);title。原始信号频谱J;subplot(2,2,3);plot(magX);title(源始信号幅值');subplot(2,2,4);plot(angX);title('原始信号相位');程序运行可以听到声音,得到的图形为:原8、始信号频谱原始信号波形40200-20-40-40・2002040原始信号相位原始信号幅值40302010002000400060000200040006000图(1)原始信号波形和频谱图(2)编程如下:x=wavreadC1.wav');sound(x);fs=100;N=128;y=fft(x,N);magy=abs(y);f=(():length(y)
5、,x可以为一向量或矩阵,若x为一向量,y是x的FFT且和x相同长度;若x为一矩阵,则y是对矩阵的每一列向量进行FFT。如果x长度是2的幕次方,函数fft执行高速基一2FFT算法,否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。函数执行N点的FFT,若x为向量且长度小于N,则函数将x补零至长度N;若向量x的长度大于N,则函数截短x使Z长度为N;若x为矩阵,按相同方法对x进行处理。4、设计过程1、利用MATLAB小的wnvr
6、ead命令来读入(采集)语音信号,将它赋值给某一向量。再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析。对于波形图与频谱图都可以用MATLAB画出。我们还可以通过sound命令來对语音信号进行冋放,以便在听觉上來感受声音变化。2、DFT:已知一个语音信号,数据采样频率为100Hz,试分别绘制N=128点DFT的幅频图和N=1024点DFT幅频图。3、通过改变系统函数的分子与分母系数比,来观察信号滤波前后的幅值与相位。5、实验代码及结果5.1MATLAB源程序(1)编程如下:[x,fs,bits]=wav
7、read(,l.wav',[10245120]);sound(x,fs,bits);X=fft(x,4096);magX=abs(X);angX=angle(X);subplot(2,2,l);plot(x);title(,lM始信号波形J;subplot(2,2,2);plot(X);title。原始信号频谱J;subplot(2,2,3);plot(magX);title(源始信号幅值');subplot(2,2,4);plot(angX);title('原始信号相位');程序运行可以听到声音,得到的图形为:原
8、始信号频谱原始信号波形40200-20-40-40・2002040原始信号相位原始信号幅值40302010002000400060000200040006000图(1)原始信号波形和频谱图(2)编程如下:x=wavreadC1.wav');sound(x);fs=100;N=128;y=fft(x,N);magy=abs(y);f=(():length(y)
此文档下载收益归作者所有