1、 数字信号数字信号处理处理课程设计课程设计说明书说明书 题题 目:目:编程实现任意确定信号 的频谱分析算法(0.9) 系系 别别:计算机学院 专专 业业:通信工程 班班 级级:通信 102 班 1 目录目录 摘要摘要.2 一、设计内容2 二、设计原理2 三、设计目的4 四、实现过程4 4.1.CEG 和弦音音频文件的频谱分析 4 4.2.对该信号频谱能量较集中的频带滤波5 4.3.对滤波后的音频信号再滤出三个能量最集中的频簇 9 4.4.重建信号与原信号的音频进行声音回放比较21 4.5.分析什么是和弦音22 五、课程设计总结 23 六、参考文献 23 2 摘摘要:要: MATLAB 主要是一
2、种应用软件,可以运用高级语言编程思想,解决电子信息 中的问题,可以做出仿真结果。如信号处理,电路分析等。 本次课程设计主要是用 MATLAB 作为工具平台对给定的 CEG 和弦音音频文 件进行分析处理,编程实现任意确定信号的频谱分析算法。 设计内容设计内容 (1)对给定的 CEG 和弦音音频文件取合适长度的采样记录点,然后进行频 谱分析(信号的时域及幅频特性曲线要画出) 。 (2)分析 CEG 和弦音频谱特点,对该信号频谱能量相对较为集中的频带(分 低、中、高频)实现滤波(分别使用低通,带通及高通) ,显示滤波后信号的时 域和频域曲线,并对滤波后的信号与原信号的音频进行声音回放比 较。 (3)
3、在低、中、高三个频带中,各滤出三个能量最集中的频簇,显示滤波后 信号的时域和频域曲线。 (4)任意选择几个滤出的频带(或频簇)进行时域信号重建(合成) ,与原 信号的音频进行声音回放比较。 讨论:根据上述结果,分析什么是和弦音。 二、设计原理二、设计原理 1 1、采用采用双线性变换法设计滤波器,其原理如下:双线性变换法设计滤波器,其原理如下: S 平面与 z 平面之间满足以下映射关系: 3 s 平面的虚轴单值地映射于 z 平面的单位圆上,s 平面的左半平面完全映射到 z 平面的单位圆内。双线性变换不存在混叠问题。 双线性变换时一种非线性变换 ,这种非线性引起的幅频特性畸 变可通过预畸而得到校正
4、。 IIR 低通、高通、带通数字滤波器设计采用双线性原型变换公式: 变换 类型 变换关系式 备 注 低通 高通 带通 为带通的上下 边带临界频率 可以利用上面提到的原理分别用双线性变化法设计以上 3 种滤波器, 可以利用函 数 fir1 设计 FIR 滤波器,可以利用函数 butte,cheby1 和 ellip 设计 IIR 滤波器; 利用 MATLAB 中的函数 freqz画出各滤波器的频率响应。 2、函数函数 FFT 用于序列快速傅立叶变换用于序列快速傅立叶变换: 2.1 函数的一种调用格式为:y=fft(x) 其中,x是序列,y是序列的 FFT,x可以为一向量或矩阵,若 x为一向量,y
5、 是 x的 FFT。且和 x相同长度。若 x为一矩阵,则 y是对矩阵的每一列向量进行 FFT。 4 如果 x长度是 2 的幂次方,函数 fft 执行高速基2FFT 算法;否则 fft 执行一 种混合基的离散傅立叶变换算法,计算速度较慢。 2.2 函数 FFT 的另一种调用格式为:y=fft(x,N)式中,x,y意义同前, N 为正整数。 函数执行 N 点的 FFT。若 x为向量且长度小于 N,则函数将 x补零至长度 N。 若向量 x的长度大于 N,则函数截短 x使之长度为 N。若 x 为矩阵,按相同方 法对 x进行处理。 经函数 fft 求得的序列 y一般是复序列,通常要求其幅值和相位。MATLAB 提 供求复数的幅值和相位函数:abs,angle,这些函数一般和 FFT 同时使用。 函数 abs(x)用于计算复向量 x的幅值,函数 angle(x)用于计算复向量的相角, 介于 和 之间,以弧度表示。 函数 unwrap(p)用于展开弧度相位角 p ,当相位角绝对变化超过 时,函数把它 扩展至 。 3、频率计算频率计算: 若 N 点序列 x(n)(n=0,1,N-1)是在采样频率 下获得的。它的 FFT 也是 N 点 序列,即 X(k)(k=0,1,2,N-1),则第 k 点所对应实际频率值为 f=k*fs /N