基于matlab的数字音效处理器——数字信号处理课设报告.doc

基于matlab的数字音效处理器——数字信号处理课设报告.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验题目 专 业: 通信工程 班 级: 114班 姓 名: XXXXX 学 号: XXXXXXXX 指导教师: XXXXX 一、实验类型 综合研究性实验 二、实验目的 1.掌握采样定理及FFT谱分析的基本原理及其利用Matlab的实现方法; 2. 掌握数字滤波器的设计原理和方法; 3. 学习用MATLAB编程实现语音数字滤波系统。 三、实验要求 1. 利用Windows下的录音机设备采集语音信号; 2. 对语音信号进行采样并混进加性噪声,作频谱分析; 3. 通过频谱分析选择合适的滤波器性能指标,设计合适的数字滤波器,并对含噪音的语音信号进行数字滤波; 4. 设计处理系统的用户界面(GUI),在所设计的系统界面上可以选择滤波器的参数,显示滤波器的频率响应,选择信号等。 四、数字滤波器的设计原理 数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。 IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配,所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。其设计方法主要有经典设计法、直接设计法和最大平滑滤波器设计法。FIR数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。 在对滤波器实际设计时,整个过程的运算量是很大的。设计阶数较高的IIR滤波器时,计算量更大,设计过程中改变参数或滤波器类型时都要重新计算。 设计完成后对已设计的滤波器的频率响应要进行校核。要得到幅频、相频响应特性,运算量也是很大的。平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候要根据设计要求和滤波效果不断地调整,以达到设计的最优化。在这种情况下,滤波器设计就要进行大量复杂的运算,单纯的靠公式计算和编制简单的程序很难在短时间内完成。利用MATLAB强大的计算功能进行计算机辅助设计,可以快速有效地设计数字滤波器,大大地简化了计算量。 五、实验步骤 1、 语音信号的采集 利用MATLAB编写程序采集。并将程序保存在F盘,命名rzw.wav 信号采集程序如下: clear; close all; Fs=8000; y=wavrecord(5*Fs,Fs,double); wavwrite(y,f:\\rzw); 2、 语音信号的读取 clear;clc;close all; [x,fs,nbits]=wavread(f://rzw,16384); N=length(x); n=[0:N-1]; X= fft(x); Fs=2*fs; T=1/Fs; f=n/N*Fs; subplot(2,1,1); plot(n,x); ylabel(原声音信号); xlabel(时间/s); subplot(2,1,2); plot(f,abs(X)); ylabel(语音的幅度谱); xlabel(频率/Hz); 低通滤波器的设计 fp1=1000;fs1=1200; wp1=2*fp1/Fs; ws1=2*fs1/Fs;rp=1;as=100; [N1,wp1]=ellipord(wp1,ws1,rp,as); [B,A]=ellip(N1,rp,as,wp1); y1=filter(B,A,x); Y1=abs(fft(y1)); figure; freqz(B,A); y1t=y_1(t); figure; subplot(2,1,1); t=n*T; plot(t,y1); xlabel(t/s);ylabel(y1t); axis([0,t(end),min(y1),1.2*max(y1)]) subplot(2,1,2); plot(f,abs(fft(y1))); 4、 高通

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档