📄 hc762.m
字号:
%《数字信号处理教程——MATLAB释义与实现》第七章例7.6.2程序hc762
% 希尔波特变换器的设计
% 电子工业出版社出版 陈怀琛编著 2004年9月
%
N=input('滤波器长度=(输入奇数) '); % 给出滤波器长度,它等于阶数加一
tau=(N-1)/2;n=[0:2*tau]+1e-10; % 给出n数组,加微小偏移
hd=2*(sin((n-tau)*pi/2)).^2./(n-tau)/pi; % 矩形窗截断的系数向量
hhn=hd.*hann(N)'; % 汉宁窗截断的系数向量
[H,w]=freqz(hd,1,'whole'); % 求滤波器全频域频率响应
[Hhn,w]=freqz(hhn,1,'whole');
subplot(2,2,1),stem([0:N-1],hd,'.') % 画出系数向量hd
axis([0,N-1,-1,1]),grid on
subplot(2,2,2),plot(w,abs(H)),grid on % 画出幅频特性|H|
subplot(2,2,3),plot(w,unwrap(angle(H))) % 画出相频频特性
axis([2,4,-2*(N-1),-(N-1)])
hold on,plot(w,-tau*w,':'),grid on
subplot(2,2,4),plot(w,abs(Hhn)),grid on % 画出幅频特性|Hhn|
set(gcf,'color','w'),pause % 置图形背景色为白
% 用信号处理工具箱中的最优化设计函数设计希尔波特变换器
F=[0,1],A=[1,1];
b=firls(N-1,F,A,'Hilbert') % 进行最小二乘设计
b1=remez(N-1,F,A,'Hilbert') % 进行最优等波动设计
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -