matlab - 无法在 MATLAB 中绘制 CT 信号图
问题描述
我正在尝试在 MATLAB 中为 0<=t<0.2 ms 绘制 CT 信号间隙 (x(t)),如下图所示。我已经编写了以下代码,但是不确定图中时间 t 的步长应该是多少。任何帮助将不胜感激:) 谢谢!
t = 0:0.00002:0.0002;
f = 10000;
x = 4*sin(2*pi*f*t);
figure;
plot(t,x);
解决方案
文中似乎有误会。Ts是采样周期,而采样率是采样周期的倒数,Fs=1/Ts。Ts 为 0.02 ms,这意味着采样率实际上是 50 kHz。
图中发生的是连续函数 x(t) 通过将其与脉冲序列 p(t) 相乘来进行采样。p(t) 函数由无限数量的 (Dirac) delta 函数组成,这些函数等距 Ts 秒并持续无穷大。输入也永远持续下去,因为 sin(t) 是为所有 t 定义的。这里的概念是要理解通过将 x(t) 乘以 p(t),您将获得以 Ts 间隔间隔开的 x(t) 样本。
因为这两个信号都是无限的,所以您应该为您希望执行的分析选择一个有意义的时间范围。在这种情况下,它具有教育意义,因此只需选择几个传入频率的周期,以便您可以查看样本。在 10kHz 时,输入应每 0.1 ms 重复一次。您应该期望看到正弦波的每个周期有 5 个样本(0.1 ms / (0.02 ms/sample) = 5 个样本)。我只是将它从 -0.2 ms 绘制到 0.2 ms 以查看几个周期。通过添加“-o”作为绘图选项,您将在采样的任何位置看到“o”标记。
t = -0.0002:0.00002:0.0002;
f = 10000;
x = 4*sin(2*pi*f*t);
figure;
plot(t,x,'-o');
您可以尝试更改采样周期。例如,尝试将其除以 10。
t = -0.0002:0.000002:0.0002;
f = 10000;
x = 4*sin(2*pi*f*t);
figure;
plot(t,x,'-o');
推荐阅读
- mysql - 如何每小时更新第二个表中一个表的值?
- ios - 直接安装ipa文件后的无图标应用
- java - 计算 3 维空间中 2 点之间的“颜色距离”
- python - 当输入是列表时如何获取函数的输出
- stm32 - 如何确定目标内部闪存的大小?
- javascript - 从 DataController 中选择设置时如何触发下拉列表 onchange
- opencv - Videocapture 错误:断言 desc 在 src/libswscale/swscale_internal.h:668 错误处失败
- jquery - 为什么在我安装 jquery 3 时这个简单的代码会中断?
- windows - git的不同SSH位置?
- amazon-web-services - 您能否在不使用 AWS Lambda 函数的情况下将消息发布到 SNS 主题?在速度模板中?