1、数字信号处理课程设计项目报告05941401 1120141454 焦奥一、设计原理本次课程设计采用 matlab 软件进行设计,调用其函数库,产生、处理、存储信号。涉及到的设计原理如下:1.信号的产生与采样以某一频率进行抽样,抽取固定时间,则可以产生不同数量的离散点。这些点数越多,频率越高,时间越短,信号越接近原始信号。2.信号的频谱和功率谱分析对信号进行快速傅里叶变换,即可得到其频谱。在 matlab 中,对应函数为fft,并且可以指定点数;fft 之后需要进行乘 2 除 N 的处理,才能够让最终频谱幅值正常。采样得到的频谱中心对称,取一半即可。功率谱采用自带函数 periodogram
2、即可。3.滤波器的产生和滤波滤波器通过系统函数来产生。常见滤波器有 IIR 和 FIR,各自又可以分为巴特沃斯、切比雪夫,海明窗、布莱克曼窗、矩形窗等。在同一种滤波器内,又可以分为低通、高通、带通、带阻等不同类型的滤波器。针对不同类型的滤波器,matlab 有不同类型的函数,方便简单。反映滤波器功能的常用方法是做频域分析,matlab 中通过 freqz 来实现。滤波通过函数 filter()来实现。4.音频信号的读取和存储音频信号可以用 audioread 来进行读取,并自动获得采样率。存储可以采用 audiowrite 来指定位置。二、设计方案1.系统图2.流程图1.信号的产生产生比较有代
3、表性的信号,如:正弦波、三角波、方波、AM 波、chirp 波、高斯白噪声等等,并对以上信号进行加噪。手动导入语音信号,格式 MP3。2.信号的采样和分析预置采样频率,可以手动输入采样率;针对语音信号,可以直接读取原始采样率;指定采样时间。获得采样率和采样时间之后,计算信号采样点数,并进行 fft 分析。分析完成,显示时域、频域波形。可继续显示功率谱。3.滤波器的产生和滤波利用 matlab 自带的函数产生巴特沃斯、切比雪夫滤波器。因为本次设计针对音频滤波为主,不要求线性相位,故暂且不用 FIR 滤波器。种类分为低通、高通、带阻、带通。可以手动指定阶数、通频带、阻带、衰减倍数。产生之后,显示滤波器单位响应、频域波形,并可以进行滤波。滤波之后,可以查看当前信号的频域、时域波形。4.信号的存储对于正弦信号等波形,可以直接存储时域图像;对于语音信号,可以存储滤波之后的信号,格式包括 wav、ogg、flac 等等。三、实验结果及讨论以输入多正弦波为例,首先指定参数:抽样频率 1024Hz,时间 2s,正弦波参数用预置值:得到一个信号:接下来进行加噪:功率谱:若要得到最左边的正弦波,使用低通滤波器,设定参数:得到滤波器:进行滤波:消除了大部分噪音,只保留了一个信号。显示功率谱:观察到只有一条谱线。接下来,举例导入语音信号。选择一个文件导入:得到波形,并自动播放: