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

📄 filterdesign1.m

📁 带通滤波器的设计及滤波例子
💻 M
字号:
%%
%信号源
close all;clc;clear;

t = 0:1/100e6:1/1e4;
A=1;
x = A*sin(2*pi*24e6*t)+A*sin(2*pi*25e6*t)+A*sin(2*pi*23e6*t);



%%
%给出两种滤波器的设计方式,
%%方法1.采用FDATOOL设计,将参数存成.mat文件,使用时倒入滤波器参数即可得到b,a;
% load FIR_window.mat;
% freqz(Num,1,512);                %数字滤波器频率响应
% %滤波
% datafilter=filter(Num,1,x);
%%
%方法2.设计滤波器 软件方式
c=96;                        %定义滤波器阶数96阶
fs=100e6;
fc1=23.1e6;
fc2=24.9e6;
w1=2*pi*fc1/fs;

w2=2*pi*fc2/fs;               %参数转换,将模拟滤波器的技术指标转换为数字滤波器的技术指标

%window=hamming(c+1);        %使用hamming窗函数

[b,a]=fir1(c,[w1/pi w2/pi]);  %使用标准响应的加窗设计函数fir1
%[b,a]=ellip(6,0.5,10,[w1/pi w2/pi]);
freqz(b,a,512);                %数字滤波器频率响应

% 滤波
datafilter=filter(b,a,x);
%%
%频谱分析
Y1 = fft(x,512);
Pyy1 = Y1.* conj(Y1) / 512;
f = 100e6*(0:256)/512;
figure(2);
subplot(2,1,1)
plot(f,Pyy1(1:257))
title('Frequency content of y')
xlabel('frequency (Hz)')
Y2 = fft(datafilter,512);
Pyy2 = Y2.* conj(Y2) / 512;
f = 100e6*(0:256)/512;
subplot(2,1,2)
plot(f,Pyy2(1:257))
title('Frequency content of y')
xlabel('frequency (Hz)')

⌨️ 快捷键说明

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