matlab.frequency.txt

来自「产生中频和高频信号及其相应滤波器」· 文本 代码 · 共 34 行

TXT
34
字号
%信号
t=0:0.001:0.25;
x1=sin(2*pi*30*t);
x2=sin(2*pi*100*t);
x=x1+x2;
figure(1);
subplot(211);
plot(t,x);
xlabel('t(s)');
ylabel('x');
title('模拟信号');
grid;
Y=fft(x,256);
pyy=Y.*conj(Y)/256;
f=1000/256*(0:127);
subplot(212);
plot(f,pyy(1:128));
xlabel('频率(Hz)');
ylabel('频谱(X)');
title('模拟信号的频谱')
grid;
%滤波器设计
[b2,a2]=butter(10,80/500,'high');
figure(2);
freqz(b2,a2,512,1000);
[b1,a1]=butter(10,50/400);
figure(3);
freqz(b1,a1,512,1000);
%滤波
y1=filter(b1,a1,x);
y2=filter(b2,a2,x);
figure(4);
plot(t,x,'b',t,x1,'g',t,y1,'y',t,x2,'m',t,y2,'r');
axis([0 0.05 -2 2])

⌨️ 快捷键说明

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