hc751.m

来自「这个是西安电子科技大学的陈怀琛教授编写的《数字信号处理教程——MATLAB释义与」· M 代码 · 共 21 行

M
21
字号
%《数字信号处理教程——MATLAB释义与实现》第七章例7.5.1程序hc751
% 用离散最小二乘法设计FIR滤波器
% 电子工业出版社出版  陈怀琛编著 2004年9月
%
N=9;L=floor((N-1)/2);               % 设定离散频点数及系数数
w=[0,0.33,0.67,1,1.5,2,2.5,3.14];   % 初选频点位置
D=[1,1,1,1,0,0,0,0];                % 在这些频点上的预期幅特性
P=cos(w'*[0:L]);                    % 系数矩阵的生成
d=(P'*P)\P'*D'                      % 最小二乘公式求d
h=[flipud(d(2:5)/2)',d(1),d(2:5)'/2]   % 根据d计算h
[H,w]=freqz(h,1);                   % 检验频率特性
plot(w,abs(H)),hold on              % 绘图
set(gcf,'color','w')                % 置图形背景色为白
disp('用离散连续最小二乘设计函数firls ')
pause,
F=[0,1,1.5,pi]/pi,A=[1,1,0,0],      % 给出预期频率特性
b=firls(N-1,F,A),                 % 调用设计函数,求出滤波器系数
[H1,w1]=freqz(b,1);                 % 检验幅特性
plot(w1,abs(H1),'linewidth',2),hold off            % 绘制幅频特性曲线
text(0.5,1.2,'用程序hc751离散最小二乘设计的结果')
text(1.2,0.7,'用设计函数firls设计的结果')

⌨️ 快捷键说明

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