语音怎么进入滤波器matlab,基于Matlab的语音信号滤波器的设计与实现
(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的语音信号滤波器的设计与实现相关推荐
- (更新源码)数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发)
数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发) 1.内容简介 2.函数使用 3.实现功能 4.操作实例 5.窗函数对比 6.源代码 1.内容简介 利用MATLAB GUI设计平台, ...
- MATLAB基于小波变换的语音信号去噪算法改进
MATLAB基于小波变换的语音信号去噪算法改进 概述 0. 需要调用的子函数 0.1 Gnoisegen函数 0.2 snrr函数 1. 语音信号输入和加噪 1.1 语音信号输入 1.2 语音信号加噪 ...
- 智能宠物喂食器语音芯片应用设计方案(基于唯创语音芯片WT588E02-8S(C001)功能拓展)
智能宠物喂食器语音芯片应用设计方案(基于唯创语音芯片WT588E02-8S(C001)功能拓展) 概述 本文主要通过使用唯创知音语音芯片扩展目录进行选型微定制,达到节省成本快速选型开发目的的应用介绍. ...
- 【滤波器】基于matlab实现语音通信仿真附报告
1 简介 1. 样本音频信号的频谱分析 2. 对音频信号的滤波 3. 对音频信号进行PCM编码 4. 对编码后的信号进行汉明编码 5. 对编码后的信号进行qpsk调制 6. 发送信号进入AWGN信道 ...
- 【滤波器】基于汉宁窗FIR滤波器实现语音信号加噪去噪含Matlab源码
1 简介 结合数字滤波器的理论基础和设计方法,在MATLAB程序语言环境下,设计出有限长单位脉冲响应(FIR)数字滤波器,同时利用GUI界面设计FIR数字滤波器人机交互平台,该系统平台界面直观.操作简 ...
- 判断清浊音 matlab,基于MATLAB的语音信号的清浊音分析.doc
基于MATLAB的语音信号的清浊音分析 目录 1 语音信号概述1 1.1 语音信号的基本组成1 1.2 语音信号的"短时谱"1 1.3 基音周期2 1.4 短时分析技术2 2 语音 ...
- Matlab语音采集与读写程序,基于MATLAB的语音信号录制采集和分析的程序设计
理 论广 角 ● I 基于 MATLAB的语音信号录制采集和分析的程序设计 刘 晓炯 (西北民族大学电气工程学院 甘肃 兰州I 730030) [摘 要]语音信号处理技术是语音处理领域中新近发展起来的 ...
- 逆谐波滤波matlab,基于MATLAB仿真的SPWM逆变电路谐波分析及滤波器设计
第 7 卷第 3 期 2010 年 9 月 长 沙 理 工 大 学 学 报 ( 自 然 科 学 版 ) Journal of Changsha University of Science and Te ...
- 同态滤波 matlab,基于Matlab的同态滤波器的优化设计
[1] [1]陈春宁,王延杰.在频域中利用同态滤波增强图像对比度[J].微计算机信息,2007,23(6):264-266. CHEN Chun-ning,WANG Yan-jie.Image con ...
- 频域参数 matlab,基于MATLAB的语音信号时频域参数分析
22 科技广场 2007.9 基于MATLAB的语音信号时频域参数分析 the Character Analysis of Speech Signal with Time and Frequency ...
最新文章
- python文件操作和集合(三)
- 学习SOX(1) 在VC中编译
- HH SaaS电商系统的支付模块设计
- 金蝶云星空销售合同变更单表名
- 解决办法:Centos 7 SSH连接超时自动断开
- 接口接收数据_你知道RS232与RS485接口的区别吗?
- 利用JS代码完成动态生成表格案例及解析
- 长微博生成器 php,【九零天下】长微博生成器的PHP代码部分
- JVM初识-JVM内存结构
- 定性分析与定量分析的区别
- 计算机桌面出现蓝色底色,电脑桌面图标有蓝色阴影怎么去掉
- kb mac压缩图片大小_Mac系统怎么压缩图片
- 补天漏洞平台:让更多的白帽子脱离黑产
- 41.Android之图片放大缩小学习
- ajax append进来的图片闪一下就不见了,ajax上传图片问题
- python获取中文字体点阵坐标_Python实现点阵字体读取与转换
- python计算线段夹角
- 设计反激式开关电源变压器 清楚实用!
- confirm多次点击确认,导致重复提交
- 本地文件怎么复制到云服务器,本地文件如何复制到云服务器上
热门文章
- C++设计模式--模板方法模式
- python(numpy,pandas2)——numpy 运算
- 记录JS报错Cannot set property ‘onclick/xxx‘ of null
- 复制(主从复制、读写分离)
- 算法练习day16——190404(KMP算法)
- win32api.sendmessage模拟鼠标点击_安卓模拟器一键宏设置教程
- 小米10的Android安全更新,MIUI 12首批更新名单被曝光,小米10系列优先上Android 11...
- 计算机科学术语,计算机科学中的术语(2)
- iptables 生效_Linux防火墙Firewall和Iptables的使用
- 公钥和私钥怎么生成_科普 | Eth2 验证者如何生成和保护取款密钥