改变声音信号采样频率 matlab实现

来源:百度知道 编辑:UC知道 时间:2024/06/07 18:53:12
改变声音信号采样频率。应分别考虑由低到高和由高到低,最好包括声音采集和回放等功能。

(1)做波形显示以及fft变换,程序如下:

[y,fs]=wavread('E:\MATLAB6p5\work\3.wav');%读出信号,采样率。
y=y(:,1);%取单声道。
sigLength=length(y);
Y = fft(y,sigLength);
Pyy = Y.* conj(Y) / sigLength;
halflength=floor(sigLength/2);
f=Fs*(0:halflength)/sigLength;
figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)'); %画频域波形

t=(0:sigLength-1)/Fs;
figure;plot(t,y);xlabel('Time(s)'); %画时域波形

(2)关于滤波
声音频率主要集中在0~1KHZ,我想虑掉500hz以下的频率,因此采用一个高通滤波器
这里我使用了一个10阶butterworth高通滤波器,边带是500hz,但是这不能直接用,因为声音文件的采样率是44k,500hz相对于44k来说太小了。所以我得先把我的声音欠采样,然后再滤波。程序如下:
[k,Fs,bits]=wavread('E:\MATLAB6p5\work\3.wav');
k=k(:,1);
y_temp=k(1:90000);

dfactor=3;
y=decimate(y_temp,dfactor);
[b,a] = butter(10,500/(Fs/(dfactor*2)),'high');
y=filter(b,a,y);
y=interp(y,dfactor);

sigLength=length(y);
Y = fft(y,sigLength);
Pyy =

采样信号的最高频率-数字信号处理 采样定理-信号采样后能不失真,采样频率须大于信号最高频率的两倍。那工频交流电每周期要采几个点? 采样频率为44KHz的声音质量相当于? 紧急求柱:请问信号频率/采样频率是什么?采样点数如何确定?什么叫标准信号?标准信号对幅值有什么要求? 请问信号频率/采样频率是什么?采样点数如何确定?什么叫标准信号?标准信号对相位有什么要求? 什么是采样频率 数字信号处理中采样信号的频率为何一定会产生能量泄漏 两分钟双声道,16位采样位数,22.05khz采样频率声音的不压缩的数据量是多少 使用FFT分析方波三角波信号的频谱,讨论采样点数,采样频率对频谱分辨率的影响,对数据叠加白噪声再分析 如果要用12M的采样速率采样雷电流信号,要用多少M时钟频率的单片机啊