matlab - 八度:绘制离散信号的问题,奈奎斯特采样
问题描述
我在 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
我只想知道我哪里出错了,以及如何解决这样的错误。
解决方案
推荐阅读
- java - 选择排序检查是否正确
- javascript - 覆盖已编译 Javascript 文件中的变量
- python - 使用正则表达式,在数据框中的列表中搜索模式并将匹配结果放入熊猫的新列中
- javascript - 没有“下一页”按钮且网址不变时的分页
- mysql - 如何回到mysql的root用户?
- pytorch - 测量 PyTorch 迁移学习教程的 ROC 和 AUC
- javascript - 如何从 HTML 自己的目录中读取未知数量的文件
- java - 线程生命周期:任何人都可以解释发生了什么,请
- python - 如何解决 model.fit 输出的错误
- node.js - 如何制作一个在频道中发送嵌入的命令