请用MATLAB写出 正弦型、余弦型瞬时值采样比相判据算法代码并且结果用scope显示出来
时间: 2024-02-05 14:13:56 浏览: 84
基于Matlab编程的正弦余弦算法.rar
5星 · 资源好评率100%
以下是正弦型、余弦型瞬时值采样比相判据算法的MATLAB代码,并且使用scope显示结果:
```matlab
% 采样频率
fs = 1000;
% 采样周期
Ts = 1/fs;
% 采样点数
N = 1000;
% 时间序列
t = (0:N-1)*Ts;
% 信号频率
f = 50;
% 信号幅值
A = 1;
% 正弦信号
x = A*sin(2*pi*f*t);
% 余弦信号
y = A*cos(2*pi*f*t);
% 采样比
m = 0.7;
% 相位差
delta = pi/4;
% 正弦型瞬时值
x_inst = zeros(1,N);
for n = 2:N
x_inst(n) = (1-m)*x_inst(n-1) + m*x(n);
end
% 余弦型瞬时值
y_inst = zeros(1,N);
for n = 2:N
y_inst(n) = (1-m)*y_inst(n-1) + m*y(n);
end
% 相判据
z = x_inst.*cos(delta) - y_inst.*sin(delta);
% 显示结果
figure;
subplot(3,1,1);
plot(t, x);
title('正弦信号');
xlabel('时间 (s)');
ylabel('幅值');
subplot(3,1,2);
plot(t, y);
title('余弦信号');
xlabel('时间 (s)');
ylabel('幅值');
subplot(3,1,3);
plot(t, z);
title('相判据');
xlabel('时间 (s)');
ylabel('幅值');
% 使用scope显示结果
scope = dsp.SpectrumAnalyzer('SampleRate',fs,'ShowLegend',true);
scope(x_inst,'正弦型瞬时值');
scope(y_inst,'余弦型瞬时值');
scope(z,'相判据');
```
在运行上述代码后,将会弹出一个scope窗口,其中包含了三个信号的频谱图以及时域波形。可以通过调整scope窗口的设置来查看其它参数,例如频率范围、采样点数等。
阅读全文