实验四获取滤波器设计做需要的性能指标

本文介绍如何对语音信号进行频谱分析,以及利用MATLAB的fdatool获取滤波器设计所需的频率和幅度性能指标,如采样频率、截止频率和最大衰减等。
摘要由CSDN通过智能技术生成

实验四获取滤波器设计做需要的性能指标

要求:为了完成对子作业1中音频信号的滤波,对子作业1中的音频信号进行频谱分析,并获取滤波器设计所需要的性能指标。

  这篇文章比较水,一是我现在是个🐏,二是我觉得第四次大作业实在没啥要写的。

一、对语音信号进行频谱分析

  语音信号的频谱分析啥的之前都做过了,所以直接调用之前的代码。代码不再列出,图片如下:

alt

alt

二、对滤波器性能指标的判断

  由于题目要求获取滤波器设计所需要的性能指标,因此打开fdatool,如下图所示:

alt

可以看到需要获取的性能指标主要就在两个方框内,第一个是频率指标,第二个是幅度指标。频率指标中,由上到下分别为 F s F_s Fs语音信号采样频率, F s t o p F_{stop} Fstop阻带截止频率, F p a s s F_{pass} Fpass通带截止频率;幅度指标中,由上到下分别为阻带和通带内的最大衰减 A s t o p A_{stop} Astop A p a s s A_{pass} Apass,单位为dB,对应到数字信号处理教材的169面中的 σ 1 \sigma_1 σ1 σ 2 \sigma_2 σ2

  我的小提琴信号在Adobe Audition中设置的是8000Hz,因此 F s F_s Fs设置为8000;阻带截止频率和通带截止频率分别根据需要设置,因为我在Adobe Audition给小提琴的信号叠加的噪声音轨是低频的,且根据前两幅图的频谱分析大概可以看出噪声频率分布在300Hz以下,所以 F s t o p F_{stop} Fstop F p a s s F_{pass} Fpass分别设置为200Hz和250Hz;阻带和通带内的最大衰减 A s t o p A_{stop} Astop A p a s s A_{pass} Apass的默认值分别为80和1,根据书上的公式可以算出阻带和通带的衰减倍数分别为 10000 10000 10000 1 0 1 20 10^{\frac 1 {20}} 10201

附录MATLAB代码

clear;
clc;
format long;
close all;

% ==========原始信号========== %
[x, fs] = audioread('./Audio/实验四语音信号/小提琴.wav');
x = x(:, 1);
x = x';

N = length(x);  % 整个图由N1个样点构成
dt = 1 / fs;
tscale = dt * N;  % X轴显示的时间长度,单位为秒
t = 0 : dt : tscale - tscale / N;

subplot(1, 2, 1);
% subplot(2, 4, 1);
plot(t .* 1000, x);
title('小提琴信号时域图');
xlabel('t/ms', 'FontName', '宋体', 'FontWeight', 'normal', 'FontSize', 14);
ylabel('电压/V', 'FontName', '宋体', 'FontWeight', 'normal', 'FontSize', 14);
grid on;

y = fft(x);
realy = 2 * abs(y(1 : length(x))) / length(x);
realf = (0 : length(x) - 1) * (fs / length(x)); 
subplot(1, 2, 2);
% subplot(2, 4, 5);
stem(realf, realy, '.');
title('小提琴信号频谱图');
axis([0, 4000, 0, 0.04]);
xlabel('f/Hz', 'FontName', '宋体', 'FontWeight', 'normal', 'FontSize', 14);
ylabel('电压/V', 'FontName', '宋体', 'FontWeight', 'normal', 'FontSize', 14);
grid on;

figure;
% ==========小提琴混杂噪声信号========== %
[Xn, fs1] = audioread('./Audio/实验四语音信号/小提琴混杂声音_缩混.wav');
Xn = Xn(:, 1);
Xn = Xn';

N1 = length(Xn);  % 整个图由N1个样点构成
dt1 = 1 / fs1;
tscale1 = dt1 * N1;  % X轴显示的时间长度,单位为秒
t1 = 0 : dt1 : tscale1 - tscale1 / N1;

subplot(1, 2, 1);
% subplot(2, 4, 2);
plot(t1 .* 1000, Xn);
title('小提琴混杂噪声信号时域图');
xlabel('t/ms', 'FontName', '宋体', 'FontWeight', 'normal', 'FontSize', 14);
ylabel('电压/V', 'FontName', '宋体', 'FontWeight', 'normal', 'FontSize', 14);
grid on;

Y1 = fft(Xn);
realy = 2 * abs(Y1(1 : length(Xn))) / length(Xn);
realf = (0 : length(Xn) - 1) * (fs1 / length(Xn)); 
subplot(1, 2, 2);
% subplot(2, 4, 6);
stem(realf, realy, '.');
title('小提琴混杂噪声信号频谱图');
axis([0, 4000, 0, 0.04]);
xlabel('f/Hz', 'FontName', '宋体', 'FontWeight', 'normal', 'FontSize', 14);
ylabel('电压/V', 'FontName', '宋体', 'FontWeight', 'normal', 'FontSize', 14);
grid on;
14);
ylabel('电压/V', 'FontName', '宋体', 'FontWeight', 'normal', 'FontSize', 14);
grid on;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Forest Frame

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值