(4)双线性变换法设计Butterworth滤波器

程序如下:

fs=22050;

x1=wavread('wo.wav');

t=0:1/22050:(size(x1)-1)/22050;

Au=0.03;

d=[Au*cos(2*pi*5000*t)]';

x2=x1+d;

wp=0.25*pi;

ws=0.3*pi;

Rp=1;

Rs=15;

Fs=22050;

Ts=1/Fs;

wp1=2/Ts*tan(wp/2);             %将模拟指标转换成数字指标

ws1=2/Ts*tan(ws/2);

[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');%选择滤波器的最小阶数

[Z,P,K]=buttap(N);                 %创建butterworth模拟滤波器

[Bap,Aap]=zp2tf(Z,P,K);

[b,a]=lp2lp(Bap,Aap,Wn);

[bz,az]=bilinear(b,a,Fs);          %用双线性变换法实现模拟滤波器到数字滤波器的转换

[H,W]=freqz(bz,az);                %绘制频率响应曲线

figure(1)

plot(W*Fs/(2*pi),abs(H))

grid

xlabel('频率/Hz')

ylabel('频率响应幅度')

title('Butterworth')

f1=filter(bz,az,x2);

figure(2)

subplot(2,1,1)

plot(t,x2)                %画出滤波前的时域图

title('滤波前的时域波形');

subplot(2,1,2)

plot(t,f1);               %画出滤波后的时域图

title('滤波后的时域波形');

sound(f1,22050);        %播放滤波后的信号

F0=fft(f1,1024);

f=fs*(0:511)/1024;

figure(3)

y2=fft(x2,1024);

subplot(2,1,1);

plot(f,abs(y2(1:512)));          %画出滤波前的频谱图

title('滤波前的频谱')

xlabel('Hz');

ylabel('fuzhi');

subplot(2,1,2)

F1=plot(f,abs(F0(1:512)));     %画出滤波后的频谱图

title('滤波后的频谱')

xlabel('Hz');

ylabel('fuzhi');

波形如下:

(5)窗函数法设计滤波器:

程序如下:

fs=22050;

x1=wavread('wo.wav');

t=0:1/22050:(size(x1)-1)/22050;

Au=0.03;

d=[Au*cos(2*pi*5000*t)]';

x2=x1+d;

wp=0.25*pi;

ws=0.3*pi;

wdelta=ws-wp;

N=ceil(6.6*pi/wdelta);                  %取整

wn=(0.2+0.3)*pi/2;

b=fir1(N,wn/pi,hamming(N+1));           %选择窗函数,并归一化截止频率

figure(1)

freqz(b,1,512)

f2=filter(bz,az,x2)

figure(2)

subplot(2,1,1)

plot(t,x2)

title('滤波前的时域波形');

subplot(2,1,2)

plot(t,f2);

title('滤波后的时域波形');

sound(f2,22050);               %播放滤波后的语音信号

F0=fft(f2,1024);

f=fs*(0:511)/1024;

figure(3)

y2=fft(x2,1024);

subplot(2,1,1);

plot(f,abs(y2(1:512)));

title('滤波前的频谱')

xlabel('Hz');

ylabel('fuzhi');

subplot(2,1,2)

F2=plot(f,abs(F0(1:512)));

title('滤波后的频谱')

xlabel('Hz');

ylabel('fuzhi');

波形如下:

(6)回放语音信号

在Matlab中,函数sound可以对声音进行回放。其调用格式:sound(x,fs,bits),x为要播放的音频信号,fs采样频率,bits采样位。在运行Matlab程序时,可以听到回放的声音,经过比较,明显感觉滤波前后的声音有变化。

3.结语

遇到的问题:出现错误提示:

??? Error using ==> wavread

Error using ==> wavread

Data compression format (IMA ADPCM) is not supported.

解决办法:wave格式的音频分为PCM和IMA ADPCM两种格式,Matlab中用waveread函数做音频处理时,只能对PCM格式的.wav音频进行处理,因此需要将要处理的格式事先转换成PCM格式的.wav音频。可采用Adensoft audio MP3 Converter音频转换工具进行转换。

11

评分

威望 +2

+5

积分 +2

收起

理由

+ 2

+ 5

+ 2

您的付出是论坛的东西,感谢您一直支持!.

语音怎么进入滤波器matlab,基于Matlab的语音信号滤波器的设计与实现相关推荐

  1. (更新源码)数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发)

    数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发) 1.内容简介 2.函数使用 3.实现功能 4.操作实例 5.窗函数对比 6.源代码 1.内容简介 利用MATLAB GUI设计平台, ...

  2. MATLAB基于小波变换的语音信号去噪算法改进

    MATLAB基于小波变换的语音信号去噪算法改进 概述 0. 需要调用的子函数 0.1 Gnoisegen函数 0.2 snrr函数 1. 语音信号输入和加噪 1.1 语音信号输入 1.2 语音信号加噪 ...

  3. 智能宠物喂食器语音芯片应用设计方案(基于唯创语音芯片WT588E02-8S(C001)功能拓展)

    智能宠物喂食器语音芯片应用设计方案(基于唯创语音芯片WT588E02-8S(C001)功能拓展) 概述 本文主要通过使用唯创知音语音芯片扩展目录进行选型微定制,达到节省成本快速选型开发目的的应用介绍. ...

  4. 【滤波器】基于matlab实现语音通信仿真附报告

    1 简介 1. 样本音频信号的频谱分析 2. 对音频信号的滤波 3. 对音频信号进行PCM编码 4. 对编码后的信号进行汉明编码 5. 对编码后的信号进行qpsk调制 6. 发送信号进入AWGN信道 ...

  5. 【滤波器】基于汉宁窗FIR滤波器实现语音信号加噪去噪含Matlab源码

    1 简介 结合数字滤波器的理论基础和设计方法,在MATLAB程序语言环境下,设计出有限长单位脉冲响应(FIR)数字滤波器,同时利用GUI界面设计FIR数字滤波器人机交互平台,该系统平台界面直观.操作简 ...

  6. 判断清浊音 matlab,基于MATLAB的语音信号的清浊音分析.doc

    基于MATLAB的语音信号的清浊音分析 目录 1 语音信号概述1 1.1 语音信号的基本组成1 1.2 语音信号的"短时谱"1 1.3 基音周期2 1.4 短时分析技术2 2 语音 ...

  7. Matlab语音采集与读写程序,基于MATLAB的语音信号录制采集和分析的程序设计

    理 论广 角 ● I 基于 MATLAB的语音信号录制采集和分析的程序设计 刘 晓炯 (西北民族大学电气工程学院 甘肃 兰州I 730030) [摘 要]语音信号处理技术是语音处理领域中新近发展起来的 ...

  8. 逆谐波滤波matlab,基于MATLAB仿真的SPWM逆变电路谐波分析及滤波器设计

    第 7 卷第 3 期 2010 年 9 月 长 沙 理 工 大 学 学 报 ( 自 然 科 学 版 ) Journal of Changsha University of Science and Te ...

  9. 同态滤波 matlab,基于Matlab的同态滤波器的优化设计

    [1] [1]陈春宁,王延杰.在频域中利用同态滤波增强图像对比度[J].微计算机信息,2007,23(6):264-266. CHEN Chun-ning,WANG Yan-jie.Image con ...

  10. 频域参数 matlab,基于MATLAB的语音信号时频域参数分析

    22 科技广场 2007.9 基于MATLAB的语音信号时频域参数分析 the Character Analysis of Speech Signal with Time and Frequency ...

最新文章

  1. python文件操作和集合(三)
  2. 学习SOX(1) 在VC中编译
  3. HH SaaS电商系统的支付模块设计
  4. 金蝶云星空销售合同变更单表名
  5. 解决办法:Centos 7 SSH连接超时自动断开
  6. 接口接收数据_你知道RS232与RS485接口的区别吗?
  7. 利用JS代码完成动态生成表格案例及解析
  8. 长微博生成器 php,【九零天下】长微博生成器的PHP代码部分
  9. JVM初识-JVM内存结构
  10. 定性分析与定量分析的区别
  11. 计算机桌面出现蓝色底色,电脑桌面图标有蓝色阴影怎么去掉
  12. kb mac压缩图片大小_Mac系统怎么压缩图片
  13. 补天漏洞平台:让更多的白帽子脱离黑产
  14. 41.Android之图片放大缩小学习
  15. ajax append进来的图片闪一下就不见了,ajax上传图片问题
  16. python获取中文字体点阵坐标_Python实现点阵字体读取与转换
  17. python计算线段夹角
  18. 设计反激式开关电源变压器 清楚实用!
  19. confirm多次点击确认,导致重复提交
  20. 本地文件怎么复制到云服务器,本地文件如何复制到云服务器上

热门文章

  1. C++设计模式--模板方法模式
  2. python(numpy,pandas2)——numpy 运算
  3. 记录JS报错Cannot set property ‘onclick/xxx‘ of null
  4. 复制(主从复制、读写分离)
  5. 算法练习day16——190404(KMP算法)
  6. win32api.sendmessage模拟鼠标点击_安卓模拟器一键宏设置教程
  7. 小米10的Android安全更新,MIUI 12首批更新名单被曝光,小米10系列优先上Android 11...
  8. 计算机科学术语,计算机科学中的术语(2)
  9. iptables 生效_Linux防火墙Firewall和Iptables的使用
  10. 公钥和私钥怎么生成_科普 | Eth2 验证者如何生成和保护取款密钥