首页 > 解决方案 > 八度:绘制离散信号的问题,奈奎斯特采样

问题描述

我在 Octave 上创建了一个程序,目的是创建一个包含噪声的连续时间信号,然后应该对这种噪声进行离散采样(如下面的正弦波内的橙色线所示)。这应该是完成代码后的预期输出。

在此处输入图像描述

然而,虽然我确实设法获得了相同的确切波形,但我没有得到的是连续时间信号的离散采样,因此得到了这个结果。

在此处输入图像描述

我不确定为什么这些线不适合图表之间,因为我对它们应用了相同的奈奎斯特定理,下面的代码将更好地解释我的意思。

%Time Base
t = 0:0.001:1.8;

%Nyquist Frequencies
Fn1 = 1;
Fn2 = 6;

%Nyquist Rates 
Fnr1 = 2*(Fn1);
Fnr2 = 2*(Fn2);

%Sampling Period
Sp1 = 5*(Fnr1);
Sp2 = 5*(Fnr2);

Ts1 = 1/(Sp1);
Ts2 = 1/(Sp2);
T1 = 1/(Fn1);
T2 = 1/(Fn2);

%Number of Samples
N1 = (T1/Ts1); 
n1 = 0:1:N1-1; 
N2 = (T2/Ts2); 
n2 = 0:1:N2-1; 

nTs1 = n1 * Ts1; 
nTs2 = n2 * Ts2; 

x_c = sin(2*pi*Fn1*nTs1);
x_c2 = sin(2*pi*Fn2*nTs2);

x_c1 = sin(2*pi*Fn1*t);
x_2 = sin(2*pi*Fn2*t);

signal = x_c1 + x_2;
ct = nTs1 + nTs2;
nqsignal = x_c + x_c2;

%Second Part
h = stem(ct, nqsignal, 'linewidth', 2);
hold
plot(t, signal, 'linewidth', 2)
lgd = legend('Discrete Data', 'Continuous Data');
set (lgd, "fontsize", 12)
set(gca,'XTick',[0:0.2:1.8]);
set(gca,'YTick',[-2:0.5:2]);
title('Time vs Magnitude','fontweight','bold','fontsize',16);
xlabel('Time(s)','fontweight','bold','fontsize',14)
ylabel('Magnitude','fontweight','bold','fontsize',14)
grid

我只想知道我哪里出错了,以及如何解决这样的错误。

标签: matlaboctavesamplingdiscrete-mathematics

解决方案


推荐阅读