一、简介

1 滤波
滤波是将信号中特定波段频率滤除的操作,是抑制和防止干扰的一项重要措施。是根据观察某一随机过程的结果,对另一与之有关的随机过程进行估计的概率理论与方法。
滤波分为经典滤波和现代滤波两种。
经典滤波:
经典滤波的概念,是根据傅里叶分析和变换提出的一个工程概念。根据高等数学理论,任何一个满足一定条件的信号,都可以被看成是由无限个正弦波叠加而成。换句话说,就是工程信号是不同频率的正弦波线性叠加而成的,组成信号的不同频率的正弦波被叫做信号的频率成分或叫做谐波成分。
滤波器:
只允许一定频率范围内的信号成分正常通过,而组织另一部分频率成分通过的电路。叫做经典滤波器或滤波电路。实际上,任何一个电子系统都具有自己的频带宽度(对信号最高频率的限制),频率特性反映了电子系统的这个基本特点。而滤波器,则是根据电路参数对电路频带宽度的影响而设计出来的工程应用电路。
现代滤波
用模拟电子电路对模拟信号进行滤波,其基本原理就是利用电路的频率特性实现对信号中频率成分的选择。根据频率滤波时,是把信号看成是由不同频率正弦波叠加而成的模拟信号,通过选择不同的频率成分来实现信号滤波。
1、当允许信号中较高频率的成分通过滤波器时,这种滤波器叫做高通滤波器。
2、当允许信号中较低频率的成分通过滤波器时,这种滤波器叫做低通滤波器。
3、设低频段的截止频率为fp1,高频段的截止频率为fp2:
1)频率在fp1与fp2之间的信号能通过其它频率的信号被衰减的滤波器叫做带通滤波器。
2)反之,频率在fp1到fp2的范围之间的被衰减,之外能通过的滤波器叫做带阻滤波器。
理想滤波器的行为特性通常用幅度-频率特性图描述,也叫做滤波器电路的幅频特性。

2 傅里叶变换
傅里叶变换是一种积分变换,就是一种从时间到频率的变化。傅里叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。可以说,傅里叶变化将原来难以处理的时域信号转化成了易于分析的频率信号(信号的频谱)。
图像的频率是表征(知识在个体心理的反映和存在方式)图像中灰度变化剧烈的程度的指标,是灰度在平面空间上的梯度。图像中是一片灰度变化很缓慢的区域,对应的频率值很低,反之亦然。
从纯粹的数学意义上看,傅里叶变换是将一个函数转化为一系列周期函数来处理。从物理效果看,傅里叶变化是将图像从空间域转换到频率域,其逆变换是将图像从频率转换到空间域。换句话说,傅里叶变换的物理意义是将图像的灰度分布函数转变为图像的频率分布函数,傅里叶逆变化是将图像的频率分布函数变换为灰度分布函数。

3 傅里叶变换的性质
平移性质

1
2
公式(1)表明将f(x,y)与一个指数项相乘就相当于把其变换后的频域中心移动到新的位置
公式(2)表明将F(u,v)与一个指数项相乘就相当于把其变换后的空域中心移动到新的位置
公式(2)表明对f(x,y)的平移不影响其傅里叶变换的幅值
分配率





二、部分源代码

clear all
close
clc;
disp('正在计算参考模板的参数...')
for i=1:10
fname=sprintf('%d0.mp3',i-1);
[x,fs]=audioread(fname);
sound(x,fs);[x1 x2]=vad(x);
%   x1=abs(round(x1));
%   x2=abs(round(x2));m=mfcc(x);m=m(x1-2:x2-4,:);ref(i).mfcc=m;
enddisp('正在分析语音信号...')
for i=1:10
fname=sprintf('%d0.mp3',i-1);
%[x,fs,bit]=audioread(fname,[2000,2512]);     %采样%
[x,fs]=audioread(fname,[2000,2512]);
%sound(x,fs);      %播放语音信号
figure(i);
subplot(3,3,1);
plot(x(1:256));    %原始语音信号的时域图形%
title('原始信号')
subplot(3,3,2)
[h,w]=freqz(x,fs);      %原始语音信号的频率响应图
hr=abs(h);            %求系统幅频响应
plot(w,hr);
title('幅频图');
xlabel('Frequency in rad mple')
ylabel('Magnitude in dB')
subplot(3,3,3)
hphase=angle(h);
hphase=unwrap(hphase);  %求系统相频响应
plot(w,hphase);
title('相频图');
xlabel('Frequency in rad mple')
ylabel('Phase in degrees')
y=fft(x,512);      %傅立叶变换%
mag=abs(y);
mag1=10*log10(mag);
f=fs*(0:255)/512;
subplot(3,3,4)
plot(f,mag(1:256));   %FFT频谱图 %
title('fft变换后信号')
iff=ifft(y,512);   %反傅立叶变换%
ifm=abs(iff);
subplot(3,3,5)
plot(f,ifm(1:256))
title('ifft后信号')
% 短时傅里叶变换
Ts=1/fs;
%N=T/Ts;
N=512;
Nw=20;     %窗函数长
L=Nw/2;    %窗函数每次移动的样点数
Tn=(N-Nw)/L+1;    %计算把数据x共分成多少段
nfft=32;%FFT的长度
Tn=round(Tn);
TF=zeros(Tn,nfft);   %将存放三维谱图,先清零
for i=1:Tnxw=x((i-1)*10+1:i*10+10);    %取一段数据temp=fft(xw,nfft);           %FFT变换temp=fftshift(temp);         %频谱以0频为中心for j=1:nfftTF(i,j)=temp(j);                %把谱图存放在TF中end
end
subplot(3,3,6)
fnew=((1:nfft)-nfft/2)*fs/nfft;
tnew=(1:Tn)*L*Ts;
[F,T]=meshgrid(fnew,tnew);
mesh(F,T,abs(TF))
title('短时傅立叶变换时频图')
subplot(3,3,7)
contour(F,T,abs(TF))
title('等高线表示')
end
function cost=testdtw(t,r)
[r1,c1]=size(t);
[r2,c2]=size(r);
distance=zeros(r1,r2);
for n=1:r1for m=1:r2tr=(t(n,:)-r(m,:)).^2;distance(n,m)=sqrt(sum(tr)/c1);%distance(n,m)=sqrt(sum(tr)/c1);end
end
D=zeros(r1,1);
function f=enframe(x,win,inc)
nx=length(x(:));
nwin=length(win);
if (nwin == 1)len = win;
elselen = nwin;
end
if (nargin < 3)inc = len;
end
function cost=Idtw(t,r)
[r1,c1]=size(t);
[r2,c2]=size(r);
distance=zeros(r1,r2);
for n=1:r1for m=1:r2tr=(t(n,:)-r(m,:)).^2;distance(n,m)=sqrt(sum(tr)/c1);%distance(n,m)=sqrt(sum(tr)/c1);end
end

三、运行结果










四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.

【语音识别】基于matlab傅立叶变换0-9数字语音识别【含Matlab源码 384期】相关推荐

  1. 【Matlab语音处理】声音信号频谱分析仪【含GUI源码 325期】

    一.代码运行视频(哔哩哔哩) [Matlab语音处理]声音信号频谱分析仪[含GUI源码 325期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...

  2. 【Matlab图像检索】综合特征图像检索【含GUI源码 395期】

    一.代码运行视频(哔哩哔哩) [Matlab图像检索]综合特征图像检索[含GUI源码 395期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  3. 【Matlab肌电信号】肌电信号处理【含GUI源码 966期】

    一.代码运行视频(哔哩哔哩) [Matlab肌电信号]肌电信号处理[含GUI源码 966期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继周,杨 ...

  4. 【Matlab条形码识别】二维条形码识别【含GUI源码 607期】

    一.代码运行视频(哔哩哔哩) [Matlab条形码识别]二维条形码识别[含GUI源码 607期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  5. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  6. 【Matlab人脸识别】KL变换人脸识别【含GUI源码 859期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]KL变换人脸识别[含GUI源码 859期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  7. 【Matlab答题卡识别】hough变换答题卡判定与成绩统计【含GUI源码 752期】

    一.代码运行视频(哔哩哔哩) [Matlab答题卡识别]hough变换答题卡判定与成绩统计[含GUI源码 752期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [ ...

  8. 【Matlab答题卡识别】hough变换答题卡判定与成绩统计(带面板)【含GUI源码 1017期】

    一.代码运行视频(哔哩哔哩) [Matlab答题卡识别]hough变换答题卡判定与成绩统计(带面板)[含GUI源码 1017期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 ...

  9. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  10. 【Matlab语音加密】语音信号加密解密(带面板)【含GUI源码 181期】

    一.代码运行视频(哔哩哔哩) [Matlab语音加密]语音信号加密解密(带面板)[含GUI源码 181期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆 ...

最新文章

  1. 使用HTML5的canvas做一个会动的时钟
  2. java memcachedclient_memcached client — memcached client for java使用 | 学步园
  3. Wamp升级php到7.3版本
  4. 漫步最优化三十四——高斯-牛顿法
  5. 使用DOM生成XML文件(转)
  6. PreparedStatement批量执行sql
  7. while (n-- > 0) 的用法
  8. python数据存储系列教程——python操作sqlite数据库:连接、增删查改、指令执行
  9. day08面向对象-内部类、异常
  10. Python—常用正则表达式方法
  11. 模板类的声明和定义要放在同一个文件
  12. 机器学习——图像识别(卷积神经网络)
  13. 【总结】1164- 一篇非常 Nice 的 UmiJS 教程
  14. 分享一下自己收集到的真实用户的UA
  15. 将DVD中的VOB文件无损转换为MP4等常用视频格式的方法
  16. sendcloud历险记
  17. JFinal在使用oracle数据库时页面显示EL表达式获取不到值
  18. 用AR.js做图片追踪的webAR Demo
  19. 2005年10月--至今,开发过的项目
  20. 数据库存储系统应用,超市小票系统

热门文章

  1. 05-用两个栈实现一个队列
  2. [转]Windows 下 Apache Virtual hosts 简单配置
  3. Oracle 列类型说明
  4. 论文多个实验时VS或Unity工程需要每次新建吗?
  5. kinect获取实时深度数据
  6. Atitit 常用的登录认证法 目录 2. 表单验证 1 3. OAuth 认证 1 4. Web票据模式验证 1 4.1. Token验证 1 4.2. Cookie-Session 认证 1
  7. Atitit 文件读取规范 目录 1.1. 以fgetss取代fgets读取一行并过滤掉 HTML 和 PHP 标记。 1 1.2. 3. 以二进制读取 fread取代fgets 1 1.3. 4.
  8. Atitit it系列书籍列表 C:\Users\Administrator\Documents\it 软件系列书籍\itlist.txt C:\Users\Administrator\Docume
  9. Atitit 接口文档法 swaagger法 目录 1. Javadoc法 1 2. (9+条消息)swagger2常用注解说明 - 兴国-为梦想而战 - CSDN博客.html 1 2.1. 首
  10. atitit 短信验证码的源码实现  .docx