反正有没有加速MATLAB中的信号处理?

时间:2013-12-30 21:29:11

标签: matlab filter signal-processing

我正在使用MATLAB中的SP工具箱进行一些无线电信号处理。由于我正在研究的虚拟无线电天线数量很多,我想知道是否还有更快的进程。

这是我通常做的事情:

  1. 将一些类似excel的数据插入到MATLAB(无线电天线位置的x,y,z)中,其中3列(实际上是4个,但其中一个是以其他方式使用它的时间),我将它们分别命名为像x75,y75,z75一样,天线位于离核心75米处。

    enter image description here

  2. 将它们转换为另一个直接的单位,因为我使用命令行

    enter image description here

  3. 然后我使用SP工具箱将转换后的值作为一个耗时的信号插入,因为我需要逐个插入很多这些值!

    enter image description here

  4. 然后我应该逐个将带有FFT算法的带通滤波器逐一应用于这些信号......

    enter image description here

  5. 然后我需要将这些经过滤波的信号导出到工作空间中并保存FFT变换信号的峰值(Y统计数据)供以后使用(我使用plot命令):

    plot(abs(fft(x75f.data)))
    

    enter image description here

  6. *现在可以想一想,如果我为100个带有x,y和z坐标的无线电天线做这个...那么在命令行中是否有任何这些部件?就像在转换后的值上应用过滤器而不必在SP工具箱中这样做? * 有什么方法可以更快地完成它吗?*

    过滤规范:

    enter image description here

1 个答案:

答案 0 :(得分:1)

当然,GUI通常会告诉你如何。例如,您已选择使用FFT加速过滤功能fftfilt。所以命令行版本是

x75f = fftfilt(filt1, x75);

您可以使用以下方法计算的统计数据: minmax函数。

您实际使用过滤后的时间信号,还是只使用其FFT?如果你需要的只是FFT,那么让fftfilt做一个逆FFT然后你再次FFT它是一种浪费。只需采用原始的FFT,并在频域中使用乘法来应用滤波器。