⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fir.m

📁 用matlab实现图像的各种变换
💻 M
字号:
[a,fs]=wavread('现在语音处理技术.wav');%读入宁波大学语音
a=a(:,1);
FS=length(a);
f=0:fs/FS:(FS-1)*fs/FS;

%进行FFT变换
x=fft(a);
figure(1)
plot(f,abs(x));title('原始信号a的fft图');
axis([0 45000 0 1000]);
xlabel('f');
ylabel('abs(x)');
grid on;




%设置FIR滤波器
format long
fedge=input('Band edges in Hz=');
mval=input('Desired magnitude values in each band=');
dev=input('Desired ripple in each band=');
FT=input('Sampling frequency in Hz=');
[N,fpts,mag,wt]=remezord(fedge,mval,dev,FT);
b=remez(N,fpts,mag,wt);
disp('FIR Filter Coefficients');
disp(b)
[h,w]=freqz(b,1,256);


figure(2)
subplot(2,1,1);
plot(w/pi,20*log10(abs(h)));title('幅频特性'); %画出幅值
xlabel('\omega/\pi');
ylabel('Gain,dB');
grid on;

subplot(2,1,2)
pha=angle(h); %得到相位
plot(w/pi,pha);title('相频特性');
xlabel('\omega/\pi');
ylabel('phase(Rad)');



%原始语音信号图
ts=1/fs;
ta=(length(a)-1)/fs;
t=0:ts:ta;
figure(3)
subplot(3,1,1);
plot(t,a);title('原始信号a');
xlabel('t');
ylabel('a');
grid on;

%添加随机噪声
noise_mu = 0; 
noise_var =0.005; 
a0= randn(size(a)) .* sqrt(noise_var) + noise_mu;
a1=a+a0;

%在原始信号上加随机噪声的信号图
subplot(3,1,2);
plot(t,a1);title('在原始信号上加上噪声信号a1');
xlabel('t');
ylabel('a1');
grid on;


%求卷积
a11=conv(b,a1);
 
%经过滤波器后的信号图
M=(length(a11)-1)/fs;
m=0:ts:M;
subplot(3,1,3);
plot(m,a11);title('经过滤波器后的信号a11');
xlabel('m');
ylabel('a11');
grid on;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -