资源简介
此程序是基于matlab的窗函数法FIR数字滤波器设计,可用于数字信号的滤波,其中包过海明窗、汉宁窗、布拉克曼窗 等等
代码片段和文件信息
clc
clear
close all
choosetype=1;
% 1 BOXCAR;2 BARTLETT; 3 HANN;4 HAMMING; 5 BLACKMAN;
choose=4;
%1 lp;2 hp;3bp;4bs
switch choose
case 1
wp=2*pi;
ws=4*pi;
s=20;
width=(ws-wp)/pi/s;
wc=(wp+ws)/2/pi/s;
case 2
wp=4*pi;
ws=2*pi;
s=20;
width=(wp-ws)/pi/s;
wc=0.5-(wp+ws)/2/pi/s;
case 3
wsl=2*pi;
wsh=12*pi;
wpl=4*pi;
wph=8*pi;
s=25;
wcl=(wsl+wpl)/2/pi/s;
wch=(wsh+wph)/2/pi/s;
F0=(wpl+wph)/2/pi/s;
wc=(wsh+wph)/2/pi/s-F0;
width=min((wpl-wsl)(wsh-wph))/pi/s;
case 4
wpl=2*pi;
wph=8*pi;
wsl=4*pi;
wsh=6*pi;
s=10;
wcl=(wsl+wpl)/2/s;
wch=(wsh+wph)/2/s;
F0=(wsl+wsh)/2/pi/s;
wc=(wsh+wph)/2/pi/s-F0;
width=min((wsl-wpl)(wph-wsh))/pi/s;
end
switch choosetype
case 1
N=13;
type=BOXCAR(N);
titl=‘BOXCAR‘;
f=abs(fft(type1024));
f=10*log(f);
case 2
N=31;
type=BARTLETT(N);
titl=‘BARTLETT‘;
f=abs(fft(type1024));
f=10*log(f);
case 5
N=ceil(5.71/width);
type=BLACKMAN(N);
titl=‘BLACKMAN‘;
f=abs(fft(type1024));
f=10*log(f);
case 4
N=ceil(3.47/width);
type=HAMMING(N);
titl=‘HAMMING‘;
f=abs(fft(type1024));
f=10*log(f);
case 3
N=ceil(3.21/width)+1;
type=HANN(N);
titl=‘HANN‘;
f=abs(fft(type1024));
f=10*log(f);
end
window=type.‘;
n=0:N-1;
tao=(N-1)/2;
switch choose
case 1
hd= 2*wc*sinc(2*wc*(n-tao));
case 2
hd=2*wc*(-1).^(n-tao).*sinc(2*wc*(n-tao));
case 3
hd=4*wc*sinc(2*(n-tao).*wc).*cos(2*pi*(n-tao).*F0);
case 4
% hd=(n==tao)-4*wc*sinc(2*(n-tao).*wc).*cos(2*pi*(n-tao).*F0);
hd=sin(pi/3*(n-tao+eps))./(pi*(n-tao+eps))+sin(pi*(n-tao+eps))./(pi*(n-tao+eps))-sin(2*pi/3*(n-tao+eps))./(pi*(n-tao+eps));
end
h=hd.*window;
H=abs(fft(h1024));
mag=abs(H);
db=20*log10((mag+eps)/max(mag));
% figure
% subplot(211)
% stem(type)
% grid on
% subplot(212)
% plot(f)
% grid on
figure
plot([0:1023]/1024db)
grid on
title(titl);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2201 2006-06-19 10:30 FIRwin.m
----------- --------- ---------- ----- ----
2201 1
- 上一篇:北邮Matlab实验报告和代码
- 下一篇:偏最小二乘分析matlab工具包
相关资源
- 基于FPGA分布式算法FIR滤波器verilog代码
- 烟花算法 (Fireworks Algorithm),缩写为
- 基于Matlab和FPGA的FIR数字滤波器设计及
- FIR滤波器的VHDL实现
- MATLAB设计FPGA实现联合ISE和Modelsim仿真
- 数字信号处理原理及其MATLAB实现
- 基于FPGA与MATLAB的fir滤波器实现Verilo
- ARM官方DSP库FIR滤波器的实现
- FIR滤波器的设计及DSP实现
- STM32F4基于DSP库的FIR低通滤波
- 优秀数字信号处理课程设计 matlab滤波
- 基于FPGA技术的FIR数字滤波器的设计
- X S Yang firefly algorithm萤火虫所有算法文
- FIR滤波器的MATLAB及FPGA实现代码
- 基于MATLAB的FIR数字低通滤波器分析和
- DSP设计FIR带通滤波器报告&源代码
- 数字信号处理课程设计+FIR数字滤波器
- 数字信号处理实验.zip
- 用matlab编写的四种fir滤波器
- 语言信号的滤波处理—窗函数法
- 汉宁窗FIR数字低通滤波器MATLAB
- 基于MATLAB的IIR和FIR滤波器设计-实验
- 滤波器中的基于Matlab的FIR数字滤波器
- 数字信号处理音频FIR去噪基于MATLAB
- FIR滤波器内含完整的MATLAB代码
- 32阶FIR滤波器的FPGA实现
- matlab设计FIR带阻滤波器
- 基于频率采样法FIR带通滤波器设计
- 在MATLAB中采用RLS算法实现FIR自适应滤
- 使用Matlab和CCS实现FIR滤波器的设计
评论
共有 条评论