matlab语音信号处理/滤波器降噪/时域频域、归一化图谱

前言

matlab语音信号处理课程设计,我自己在做的时候想要借鉴,发现在csdn付费下载的一个有用的都没有,我更愿意免费分享给大家

一、题目要求

◆1语音信号处理

采集语音信号(可用手机自带的录音机录),画出其时域波形,并对其进行频谱分析。(加入噪声或者伴奏,画时域波形,频谱。)设计数字滤波器,用滤波器对信号进行滤波,用滤波器对信号进行滤波。回放语音信…..

绘制采样语音信号的时域波形和频谱,绘制滤波器的频率响应,绘制滤波信号的时域波形和频谱。

[En]

Draw the time domain waveform and spectrum of the sampled speech signal, draw the frequency response of the filter, and draw the time domain waveform and spectrum of the filtered signal.

(主要函数:audioread ( matlab7:wavread),ft,ellipord, filter, sound等等)

二、使用步骤

代码如下

clc;
clear all;
%% 原始语音信号
[s1,fs]=audioread(‘千月兔 – 千里邀月.mp3’);
s1=s1(:,1); % 单声道
t=(0:length(s1)-1)/fs; % 时间
figure
subplot(211)
plot(t,s1)
title(‘原始语音信号’);
ylabel(‘幅度’);
xlabel(‘时间’);
% 傅里叶变换
P=fft(s1);
subplot(212)
plot(abs(P)); % 双边傅里叶频谱图
title(‘原始语音信号幅频特性’);
ylabel(‘幅度’);
xlabel(‘频率/Hz’);
disp(‘已暂停,按任意键结束’)
pause;
sound(s1,fs);

disp(‘已暂停,按任意键结束’)
pause;
%% 加入高斯白噪声
% 噪声:SNR=10
r1=awgn(s1,10,’measured’);
figure
subplot(211)
plot(t,r1)
title(‘加入噪声后的语音信号’);
ylabel(‘幅度’);
xlabel(‘时间’);
% 傅里叶变换
P=fft(r1);
subplot(212)
plot(abs(P));
title(‘加入噪声后的语音信号幅频特性’);
ylabel(‘幅度’);
xlabel(‘频率/Hz’);
disp(‘已暂停,按任意键结束’)
pause;
sound(r1,fs);
disp(‘已暂停,按任意键结束’)
pause;
%% 数字滤波器滤波
% 使用4阶,0.48的截止频率和30 dB纹波的切比雪夫窗口。
%% FIR低通滤波器实现
bhi = fir1(4,0.48,’low’,chebwin(5,30));
figure
freqz(bhi,1)
outhi = filter(bhi,1,r1); % 滤波器

figure
subplot(211)
plot(t,outhi)
title(‘FIR滤波器后的语音信号’);
ylabel(‘幅度’);
xlabel(‘时间’);

P=fft(outhi);
subplot(212)
plot(abs(P));
title(‘FIR滤波器后的语音信号幅频特性’);
ylabel(‘幅度’);
xlabel(‘频率/Hz’);
disp(‘已暂停,按任意键结束’)
pause;
sound(outhi,fs);

幅频响应图:

matlab语音信号处理/滤波器降噪/时域频域、归一化图谱

归一化图(反映滤镜性能)

[En]

Normalized graph (reflecting filter performance)

matlab语音信号处理/滤波器降噪/时域频域、归一化图谱

音频可以自己设定,往matlab一拖对应位置复制好完整文件名称就行

当你回复时,通常只会问代码使用了哪些函数,含义是什么,过滤器是什么,过滤器的特征,选择顺序的原因等。

[En]

When you reply, you usually just ask the code which functions are used, what is the meaning, what is the filter, the characteristics of the filter, the reason for the order selection, and so on.

; 总结

一段很简单的代码,我做的时候一点都不懂,但平时还是学得太少。如果有任何错误和不足,请在评论区给我很多建议。希望我能为新来者提供一些帮助,2022.1.24。

[En]

A very simple piece of code, I don’t know anything about it when I do it, but I still learn too little at ordinary times. If there are any mistakes and deficiencies, please give me a lot of advice in the comments area. I hope I can provide some help to the newcomers, 2022.1.24.

(附言:我已经很久没有登录这个账号了。没想到这么多人看了。没想到资源下载还有限制,对平台问题也无能为力。)

[En]

(postscript: I haven’t logged on to this account for a long time. I didn’t expect that so many people saw it. I didn’t expect that there were still restrictions on downloading resources, and I couldn’t do anything about the platform problem, alas.)

Original: https://blog.csdn.net/m0_61539528/article/details/122660404
Author: 小鱼雷呀
Title: matlab语音信号处理/滤波器降噪/时域频域、归一化图谱

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/497952/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球