基于FFT变换的语音信号处理
1 前言
为了进一步理解快速傅里叶变换(FFT),我们首先选取一个小项目来练练手。我们从语音信号的处理出发,采用不通滤波器和FFT来对其进行处理得到新的语音信号。我们将得到的语音信号与原语音信号进行对比,并对此进行频谱分析,加深我们对信号处理流程的理解。
本次仿真采用matlab软件,在matlab上进行相应的语音信号处理。值的提醒的是,在开始该项目前我们需寻找一段录音,录音格式见后续代码。
2 语音信号处理代码(matlab)
1 信号采集程序
fs=22050;
x1=wavread('C:\Users\Lenovo\Desktop\signal .wav'); sound(x1,22050);
y1=fft(x1,1024);
f=fs*(0:511)/1024;
figure(1)
plot(x1)
title('原始语音信号');
xlabel('time n');
ylabel('fuzhi n');
figure(2)
freqz(x1)
title('频率响应图')
figure(3)
subplot(2,1,1);
plot(abs(y1(1:512)))
title('原始语音信号FFT频谱')
subplot(2,1,2);
plot(f,abs(y1(1:512)));
title('原始语音信号频谱')
xlabel('Hz');
ylabel('fuzhi');
2 加上5kHz高频余弦噪声后的信号采集程序
fs=22050;
x1=wavread(' C:\Users\Lenovo\Desktop\signal .wav ');
f=fs*(0:511)/1024;
t=0:1/22050:(size(x1)-1)/22050;
Au=0.03;
d=[Au*cos(2*pi*5000*t)]';
x2=x1+d;
sound(x2,22050);
y2=fft(x2,1024);
figure(1)
plot(t,x2)
title('加噪后的信号');
xlabel('time n');
ylabel('fuzhi n');
figure(2)
subplot(2,1,1);
plot(f,abs(y1(1:512)));
title('原始语音信号频谱');
xlabel('Hz');
ylabel('fuzhi');
subplot(2,1,2);
plot(f,abs(y2(1:512)));
title('加噪后的信号频谱');
xlabel('Hz');
ylabel('fuzhi');
3 窗函数法设计滤波器程序
fs=22050;
x1=wavread(' C:\Users\Lenovo\Desktop\signal .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');
基于FFT变换的语音信号处理相关推荐
- 基于MATLAB有噪声语音信号处理算法设计
获取项目源文件,联系Q:1415736481,可指导毕设,课设 摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分.利用MATLAB信号处理工 ...
- 基于matlab的有噪声语音信号处理,基于matlab的有噪声语音信号处理毕设
基于matlab的有噪声语音信号处理毕设 - I - I 大学本科毕业设计论文 基于MATLAB的有噪声语音信号处理- II - II 摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR 数字 ...
- 波束形成、回声消除、声源定位及端到端等语音信号处理算法
现今信息技术飞速发展,语音技术源源不断地融入到各个领域,语音信号处理是人机接口的关键技术,已广泛应用于直播.在线通话.智能音箱等产品中. (落地应用) 随着语音产品广泛落地应用,语音行业飞速发展,各大 ...
- 【深蓝学院】语音信号处理|ch8-深度学习语音分离
语音信号处理|ch8-深度学习语音分离 概述 1. 深度学习语音处理 [目标] ①能够有更好的自动语音识别(ASR)的指标: ②能够有更好的人类听觉感知 [现状] ①可以显著提升处理过程的速度并且提升 ...
- 现代语音信号处理-胡航(part 1 - 语音信号处理主要研究内容)
1 语音信号处理主要研究内容 1.1 语音编码 语音编码的根本作用是使语音通信数字化 1.2 语音合成 基于规则的文字-语音合成系统 用最基本的语音单元,如因素.音节等作为合成单元,建立语音库,通过合 ...
- matlab关于噪声课设,基于matlab的有噪声的语音信号处理的课程设计.doc
基于matlab的有噪声的语音信号处理的课程设计.doc DSP实验课程设计实验报告DSP实验课程设计实验报告姓名学号班级1课程设计题目基于MATLAB的有噪声的语音信号处理的课程设计.2课程设计的目 ...
- matlab声音信号加入余弦噪声,基于窗函数法的数字滤波器语音信号处理
摘要:有限长冲激响应(FIR)数字滤波器具有描述方便.系统稳定.易于实现线性相位等特点,获得了广泛的应用.该文采用FIR数字滤波器的窗函数法设计滤波器,针对语音信号中出现的加性噪声进行消除,并在mat ...
- 语音信号分析之FFT变换过程
语音信号分析从FFT变换开始 概述 语音信号是人为经过声学设备采集转换而来的便于编码.储存以及做声学处理用途抽象而成的信号.首先一段WAV音频拥有固定的几个参数用来规定语音信号的属性.正确的区分通道数 ...
- 基于matlab的语音信号处理,基于MATLAB语音信号处理的研究
摘 要:语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一.通过语音传递信息是人类最重要.最有效.最常用和最方便的交换信 ...
最新文章
- Python使用matplotlib可视化两个时间序列的交叉相关性图、交叉相关图显示了两个时间序列之间的滞后性(Cross Correlation plot)
- 解决js跨域调用WebApi的问题
- Ubuntu 下Ape转Mp3[88250原创]
- STL中的priority_queue(优先队列)
- 第一个Java程序示例——Hello World
- 前端:JS获取浏览器类型类库
- 利用OpenCV实现人脸检测
- win创建linux目录,Windows与Linux上的文件创建时间
- [转]bookmark整理之.NET编程相关
- Scala可变参数列表
- 全球及中国电动车行业品牌竞争策略与投资机会分析报告2022版
- 浅聊信创投资研究框架| 信创
- java中cplex程序_Cplex中文教程全 PDF 下载
- 盘点 9 款好用的开源商城系统
- 《Search to Distill: Pearls are Everywhere but not the Eyes》论文阅读
- 连日来卖报纸嘅一d感想,
- 什么是同类群组联合学习 (FLoC)?
- 神经元网络算法的思想,神经网络算法应用案例
- 虚拟化技术之KVM,搭建KVM(详细)
- 下载kaggle数据集出现的一系列问题