📄 myall_01.m
字号:
%all filter
clc
clear all;
format long
%%%%%%%%%%%%%%%%%
% CIC filter design and cCIC filter design
%%%%%%%%%%%%%%%%%
%
%% cic design
%
syms w1;
Hcic=((1-exp(-j*w1*4))/(1-exp(-j*w1)))^6; %cic滤波器
%
%% ccic design
%
M=31; %是要拟和的点数 必须为奇数
pb=0.2; %拟和曲线的频率上限系数
N=10; %补偿滤波器阶数
step=pb/M; %步长
w=[0:step:pb]; %length(w)=M+1
%
aHcic=abs(Hcic); % ideal cic AF @@@@@@@@@@@@@@@@
aHoptc=4^6-aHcic; % ideal 补偿滤波器AF
%
aHoptcw=subs(aHoptc,w*pi);aHoptcw(1)=0;
aHoptcw=aHoptcw; %在w处取得幅频值,共length(w)个
%
b1=firpm(N, w, aHoptcw,'type4'); % ccic design
%
n=[0:length(b1)-1];W=exp(-j*w1*n);
H=W*b1';
aH=abs(H); % ccic AF @@@@@@@@@@@@@@@@@@@@@@@@
%% err
aHe=aH+aHcic-4^6;
%% wave
aHr=aH+aHcic; %cic和补偿滤波器
rp=20*log10(aHr/4096);% 波纹小于0.02db
% % %% check
% % subplot(2,3,1);
% % ezplot(aHcic,[0,pb*pi]);hold; %绘制cic滤波器幅频曲线ideal
% % ezplot(aHoptc,[0,pb*pi]); %绘制补偿幅频曲线ideal
% % title('cic滤波器和补偿滤波器');ylim('auto');
% % plot(w*pi,aHoptcw,'ro');hold; %检查频率点 ideal
% % %
% % subplot(2,3,2);plot(w*pi,aHoptcw,'r.');hold; %设定频率点
% % ezplot(aH,[0,pb*pi]);hold;
% % title('补偿滤波器效果');ylim('auto');
% % subplot(2,3,3);
% % ezplot(aH,[0,pb*pi]);hold;
% % ezplot(aHcic,[0,pb*pi]);hold;
% % ezplot(aH+aHcic,[0,pb*pi]);hold;
% % title('cic+补偿滤波器效果');ylim('auto');
% % %
% % subplot(2,2,3);ezplot(aHe,[0,pb*pi]);
% % title('整体误差曲线');ylim('auto');
% % %
% % subplot(2,2,4);ezplot(rp,[0,pb*pi]);
% % title('波纹曲线db');ylabel('db');ylim('auto');
% end of CIC and end of cCIC
%
% cic and ccic check
%
ezplot(aHcic,[0,pb*pi]);hold;
ezplot(aH,[0,pb*pi]);hold
ezplot(aH+aHcic,[0,pb*pi]);hold % 怎么设置坐标》??
%%%%%%%%%%%%%%%%%%%%%
%
%%%%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -