Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何获得空间一维信号的FFT单位?_Matlab_Signal Processing_Fft_Sampling_Dft - Fatal编程技术网

Matlab 如何获得空间一维信号的FFT单位?

Matlab 如何获得空间一维信号的FFT单位?,matlab,signal-processing,fft,sampling,dft,Matlab,Signal Processing,Fft,Sampling,Dft,注:请回答尺寸(cy/mm)而不是(Hz)的问题,不胜感激 我已经调查过了,但是我找不到我要找的东西。所以,我决定写我自己的问题 我在现实世界中有一个3毫米宽的物体,它可以扫描一个310毫米宽的大物体。我可以将其建模为具有卷积过程的线性系统,其矩形函数宽度为3mm,如下所示: g(x) = f(x) * rect(x/3mm) 其中f(x)是310mm的物体,而g(x)是扫描物体的输出。在MATLAB中,我试图模拟这种效果,因此我将310mm对象作为高分辨率阵列导入,阵列中的每个点对应于1mm

注:请回答尺寸(cy/mm)而不是(Hz)的问题,不胜感激

我已经调查过了,但是我找不到我要找的东西。所以,我决定写我自己的问题

我在现实世界中有一个3毫米宽的物体,它可以扫描一个310毫米宽的大物体。我可以将其建模为具有卷积过程的线性系统,其矩形函数宽度为3mm,如下所示:

g(x) = f(x) * rect(x/3mm)
其中
f(x)
是310mm的物体,而
g(x)
是扫描物体的输出。在MATLAB中,我试图模拟这种效果,因此我将310mm对象作为高分辨率阵列导入,阵列中的每个点对应于1mm

现在,为了建模
rect(x/3mm)
我正在考虑两种方法,我不确定哪一种是正确的

1-也就是说,
rect(x/3mm)
等于高分辨率阵列的3个点,然后可以创建为与高分辨率对象大小相同的零核,只有3个1点。现在,内核点之间的实际间距=1mm。如何显示此rect(x/3mm)模型的正确FFT比例

2-我可以在MATLAB中定义

d = 3; % in mm
value = 2;
spacing = 0.01;
x = -value: spacing : value - spacing
y = rect(x/d);
第二种方法将为我提供一个
rect(x/3mm)
,它可以根据间距或值粗略或精细地创建,但第一种方法只有3个点。如何显示此rect(x/3mm)模型的正确FFT比例


这两种方法中哪一种是正确的方法?

看我的答案:这个问题似乎离题了,因为它是关于傅里叶分析\信号处理理论而不是编程的。我看到了你的答案,我知道dfdxN=1,然后我可以从-Nyq_rate:Nyq_rate绘制我的答案。但是我上面提到的两种方法可以得到不同的答案。为了更好地理解编程问题,我尝试在提出编程问题之前介绍背景知识。这就是为什么你可能觉得它离题了。它主要是关于哪种方法是正确的,以及如何在缩放方面处理每种方法!谢谢:)