我正在使用MATLAB中的SP工具箱进行一些无线电信号处理。由于我正在研究的虚拟无线电天线数量很多,我想知道是否还有更快的进程。
这是我通常做的事情:
将一些类似excel的数据插入到MATLAB(无线电天线位置的x,y,z)中,其中3列(实际上是4个,但其中一个是以其他方式使用它的时间),我将它们分别命名为像x75,y75,z75一样,天线位于离核心75米处。
将它们转换为另一个直接的单位,因为我使用命令行
然后我使用SP工具箱将转换后的值作为一个耗时的信号插入,因为我需要逐个插入很多这些值!
然后我应该逐个将带有FFT算法的带通滤波器逐一应用于这些信号......
然后我需要将这些经过滤波的信号导出到工作空间中并保存FFT变换信号的峰值(Y统计数据)供以后使用(我使用plot
命令):
plot(abs(fft(x75f.data)))
*现在可以想一想,如果我为100个带有x,y和z坐标的无线电天线做这个...那么在命令行中是否有任何这些部件?就像在转换后的值上应用过滤器而不必在SP工具箱中这样做? * 有什么方法可以更快地完成它吗?*
过滤规范:
答案 0 :(得分:1)
当然,GUI通常会告诉你如何。例如,您已选择使用FFT加速过滤功能fftfilt
。所以命令行版本是
x75f = fftfilt(filt1, x75);
您可以使用以下方法计算的统计数据: min
,max
函数。
您实际使用过滤后的时间信号,还是只使用其FFT?如果你需要的只是FFT,那么让fftfilt做一个逆FFT然后你再次FFT它是一种浪费。只需采用原始的FFT,并在频域中使用乘法来应用滤波器。