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

📄 filtaxz.m

📁 信号实验常用的simulink模型和mfile,可直接在matlan下运行。
💻 M
字号:
%FILTAXZ Signal Processing filter demo.


% Demo initialization ====================
if ~exist('SlideShowGUIFlag'), figNumber=0; end;

Fs=100;
t=(1:100)/Fs;
s1=sin(2*pi*t*5); s2=sin(2*pi*t*15); s3=sin(2*pi*t*30);
s=s1+s2+s3;

if cssinit(figNumber),
    plot(t,s);
    xlabel('时间(秒)');
    ylabel('时间波形');
    drawnow;

    str = str2mat( ...
      ' 按下“开始”按钮可以看到滤波的演示。', ...
      ' ');
    cssdisp(figNumber,str);                                      
    if figNumber, return; end
end

% Beginning of the demo ==================
str = str2mat( ...
  ' 这是一个滤波演示。', ...  
  ' 首先,使用三个正弦波分量(频率分别是 5、15、30Hz)', ...
  ' 相加合成了一个信号,我们将对此信号进行处理。', ...
  ' 【pi=3.1415926】', ...
  ' ∵ s1=sin(2*pi*t*5); s2=sin(2*pi*t*15);', ...
  '   s3=sin(2*pi*t*30);', ...
  ' ∴ s=s1+s2+s3;');
cssdisp(figNumber,str);                                         

if csspause(figNumber), return; end;


[b,a]=ellip(4,0.1,40,[10 20]*2/Fs);
[H,w]=freqz(b,a,512);
plot(w*Fs/(2*pi),abs(H));
xlabel('频率(Hz)');
ylabel('频率响应幅值');
grid;
drawnow;
astr=['          ' poly2str(a,'s')];
bstr=['          ' poly2str(b,'s')];

str = str2mat( ...
  ' 我们将设计一个滤波器,使得:', ...
  ' 15Hz的分量得以通过,而5Hz和30Hz的分量被滤除。', ...
  ' 我们建立一个八阶的10至20Hz的带通IIR滤波器。', ...
  ' 这是其频率响应。', ...
  ' 该滤波器是椭圆函数滤波器。', ...
  ' ', ...
  bstr, ...
  ' H(s)=--------------------------------------------------------------', ...
  astr, ...
  ' ' ...
);

cssdisp(figNumber,str);                                           

if csspause(figNumber), return; end;


sf=filter(b,a,s);
plot(t,sf);
xlabel('时间(秒)');
ylabel('时间波形');
axis([0 1 -1 1]);
drawnow; pause(1);

str = str2mat( ...
  ' 滤波之后,所得信号是一个15Hz正弦波,符合原先的设想。', ...
  ' ');

cssdisp(figNumber,str);                                       

if csspause(figNumber), return; end;


S=fft(s,512);
SF=fft(sf,512);
w=(0:255)/256*(Fs/2);
plot(w,abs(S(1:256)'),'b',w,abs(SF(1:256)'),'r');
xlabel('频率(Hz)');
ylabel('傅立叶变换幅值');
grid;

str = str2mat ( ...
  ' 最后,这是在滤波前(蓝色)、后(红色),信号的频率成分。', ...  
  ' 注意:在频率点 5、30 Hz 处的尖峰被有效地消除了。', ... 
  ' ');

cssdisp(figNumber,str);                                     

% End of the demo ========================

⌨️ 快捷键说明

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