📄 fgp313.m
字号:
%《数字信号处理教程——MATLAB释义与实现》第三章演示程序fgp313
% 演示离散信号数字频率的物理概念
% 电子工业出版社出版 陈怀琛编著 2004年9月
%
clear, clf, whitebg('w')
set(gcf,'color','w') % 置图形背景色为白
tf=6.3/50;dt=1/5000;t = 0:dt:tf; % 设定时间序列
% I=10; freq = 50; w = 2*pi*freq; % 50 Hz角速度 (rad/s)
l1=plot([0 1],[0 0]);hold on % 画出旋转杆
set(l1,'erasemode','xor','LineWidth',2,'color','y')
l2=plot(1,0,'go'); % 画出观测瞬间看到的点
set(l2,'erasemode','xor','Markersize',4,'color','r')
axis square; axis([-2 2 -2 2]);
Ts=0.004;n=0:fix(tf/Ts); % 采样周期为0.004s,采样频率为250Hz,
w=[20,50,80,120,160,250,270,390,490]*2*pi % 设定各种转动频率
for k=1:9
B=cos(w(k)*t)+j*sin(w(k)*t); % 用复数表示的旋转杆端点坐标
text(-1,2.15,'转动频率=') % 在图形上显示转动频率
title(num2str(w(k)/2/pi))
for ii = 1:length(t) % 不断更新杆和观测到的点的坐标
n1=round((ii-1)*dt/Ts);
set(l1,'xdata',[0 real(B(ii))],'ydata',[0 imag(B(ii))],'color','y') % 更新旋转杆数据
set(l2,'xdata', cos(n1*w(k)*Ts),'ydata',sin(n1*w(k)*Ts),'color','r') % 更新观测到的点的数据
drawnow,shg % 立即显示
fft(randn(1,2^10)); % 减慢速度
end,pause(1) % 暂停一秒钟
end
hold off;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -