多采样率数字信号处理及matlab实现

本文介绍了如何使用MATLAB进行数字信号处理,包括上采样和下采样操作。针对一段8192Hz采样频率的语音数据,进行了上采样、下采样以及结合低通滤波器的处理,分析了不同处理后的语音信号频谱特性和声音效果。
摘要由CSDN通过智能技术生成

一、上下采样的基本函数

1、上采样对信号进行插值,进行零插值
采用的函数:

y_up= upsample(y, 4); %y:需要上采样的序列,4:上采样间隔

2、下采样对信号进行抽取
采用的函数:

y_down= downsample(y, 4); %y:需要下采样的序列,4:抽取间隔

二、
1.设计内容
(1)有一段以采样频率8192Hz采样得到的语音数据,存在文件“erf1s1t0”中,信号长度不够时信号补零使其长度为8192。
(2)对采集得到的语音信号进行fft,分析信号频谱特性;
(3)对语音信号对进行下采样(每隔4中抽取一个采样),演示采样信号的声音效果,分析信号的频谱特性,绘出其频谱并进行分析。
(4)对语音信号进行上采样(上采样系数为D=4),演示上采样信号的声音效果,分析其频谱并进行分析。
(5)先对语音信号进行低通滤波(截止频率为Fs/D的线性相位FIR滤波器,过渡带宽度为0.04Fs),再对其进行下采样;然后进行上采样(系数为D),对上采样信号进行低通滤波,比较该信号与原始信号的差别,并进行分析。
(6)试用IIR低通滤波器对语音信号做相同处理,比较结果的区别。

Fs=8192;
data=load('erf1s1t0');
x=data;
x(8192)=0;  % zero-pad if lenth(data) < 8192

wc=Fs/4/Fs;N=8192;   %理想低通滤波器截止频率(关于pi归一化)
Bt=0.04*Fs*2*pi/Fs;  %过渡带宽度指标
Nw=ceil(11*pi/Bt);   %blackman窗的长度N ceil取最大整数
hn=fir1(Nw-1,wc,blackman(Nw)); %阻带最小衰减为60dB 可以用blackman窗
disp(Nw-1);             %窗函数法设计滤波器 滤波器长度-1=阶数
ywt=fftfilt(hn,x,N);   %调用函数fftfilt对x滤波

%窗函数法设计法的绘图部分(滤波器损耗函数, 滤波器输出信号波形)
xlabel('f/Hz');ylabel('幅度');
t=(0:N-1)/Fs; 
figure(2);subplot(4,2,1);
plot(t,ywt,'b');
grid on;
%滤波之后的频谱
Xk1=fft(ywt);Xk1=fftshift(Xk1);
subplot(4,2,2);plot(abs(Xk1));title('进行滤波之后的信号的频谱');

%下采样后的序列
y_down = downsample(ywt, 4);
ny=0:length(y_down)-1;
subplot(4,2,3);
plot(ny,y_down,'.')
box on;
title('下采样序列');
%下采样之后的频谱
Xk2=fft(y_down);Xk2=fftshift(Xk2);
subplot(4,2,4);plot(abs(Xk2));title('进行下采样之后的信号的频谱');

%上采样后的序列
y_up= upsample(y_down, 4); %上采样序列
ny=0:length(y_up)-1;
subplot(4,2,5);
plot(ny,y_up,'.')
box on;
title('上采样序列');
%上采样之后的频谱
Xk3=fft(y_up);Xk3=fftshift(Xk3);
subplot(4,2,6);plot(abs(Xk3));title('进行上采样之后的信号的频谱');

ywt1=fftfilt(hn,y_up,N);   %调用函数fftfilt对y_up滤波
%窗函数法设计法的绘图部分(滤波器损耗函数, 滤波器输出信号波形)
f=(0:1023)*Fs/1024;
xlabel('f/Hz');ylabel('幅度');
t=(0:N-1)/Fs; 
subplot(4,2,7);
plot(t,ywt1,'b');
grid on;
%滤波之后的频谱
Xk4=fft(ywt1);Xk4=fftshift(Xk4);
subplot(4,2,8);plot(abs(Xk4));title('最终滤波之后的信号的频谱');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yeopeq

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

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

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

打赏作者

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

抵扣说明:

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

余额充值