Matlab 实现CZT
全通滤波器
b = [1 -1/0.9]; a=[1 -0.9];
[Fh,w] = freqz(b,a);
[Gd,w] = grpdelay(b,a);
subplot(311)
plot(w/pi,abs(Fh));ylabel('|H(w)|');grid on;
axis([0 max(w/pi) 0 1.5]);
subplot(312)
plot(w/pi,angle(Fh));
ylabel('ang[H(w)]');grid on;
subplot(313)
plot(w/pi,Gd);ylabel('grd[H(w)]');grid on;
Matlab 实现CZT
h = firl(40,0.3); %h(n)为截止频率为0.3pi的40阶低通滤波器
fs = 1000;f1 = 100; f2 = 200;%fs = 1000Hz, fc = 150Hz
m = 1024;
w = exp(-j*2*pi*(f2-f1)/(m*fs));
a = exp(j*2*pi*f1/fs);
H = fft(h,1000);
H1 = czt(h,m,w,a);
%CZT长度:M=1024,希望通过CZT看清楚过渡带
fH = (0:length(H)-1)'*1000/length(H);
fH1 = (0:length(H1)-1)'*(f2-f1)/length(H1)+f1;
所以CZT能让我们更好的观察100-200HZ这个频段
模拟低通滤波器
数字滤波器:
所以观察的范围在[0,Π]空间范围
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构