带有 Freqrange 的 Matlab Meanfreq 函数
Matlab Meanfreq function with Freqrange
使用 matlab 中的内置函数 Meanfreq 来计算我的信号的平均频率,这是用具有上下可靠范围(70kHz 到 500kHz)的传感器记录的。
根据帮助 (https://uk.mathworks.com/help/signal/ref/meanfreq.html#d117e104641) 我应该能够指定这个可靠的范围,但是当我这样做时,值 MeanFreq returns 超出了这个范围 (0.176 kHz),这显然是不正确。
有人知道任何提示或技巧吗?
TIA
我使用的代码 w/o 频率范围是:
Fs = 1e6;
figure()
meanfreq(signal, Fs)
然后用我的频率范围
freqrange = [70,500];
Fs = 1e6;
figure()
meanfreq(signal, Fs, freqrange)
如果我尝试
freqrange = [7e4, 5e5];
我收到错误:
> Error using psdparserange>parseTime (line 103) The frequency range
> must be within the range of F for the specified input.
编辑 - 尝试
Fs = 1e6;
figure()
meanfreq(signal, Fs)
figure()
meanfreq(signal,freqrange)
产生大量错误。
Error using meanfreq
Expected input number 1, Pxx, to be nonnegative.
Error in psdparserange>parsePSD (line 121)
validateattributes(Pxx,{'numeric'},{'2d','nonnegative'}, funcName,'Pxx',1);
Error in psdparserange (line 40)
[Pxx, F, Frange, rbw] = parsePSD(funcName, varargin{1:min(n,3)});
Error in meanfreq (line 63)
[Pxx, F, Frange, rbw, extraArgs, status] = psdparserange('meanfreq', kaiserBeta, varargin{:});
Error in Main_analysis_Fullsignal (line 30)
meanfreq(signal,freqrange)
我认为这是一个兼容性问题 - 一旦我开始使用 2019b 版本的 matlab 而不是 2017a,我就没有问题了。
使用 matlab 中的内置函数 Meanfreq 来计算我的信号的平均频率,这是用具有上下可靠范围(70kHz 到 500kHz)的传感器记录的。
根据帮助 (https://uk.mathworks.com/help/signal/ref/meanfreq.html#d117e104641) 我应该能够指定这个可靠的范围,但是当我这样做时,值 MeanFreq returns 超出了这个范围 (0.176 kHz),这显然是不正确。
有人知道任何提示或技巧吗?
TIA
我使用的代码 w/o 频率范围是:
Fs = 1e6;
figure()
meanfreq(signal, Fs)
然后用我的频率范围
freqrange = [70,500];
Fs = 1e6;
figure()
meanfreq(signal, Fs, freqrange)
如果我尝试
freqrange = [7e4, 5e5];
我收到错误:
> Error using psdparserange>parseTime (line 103) The frequency range
> must be within the range of F for the specified input.
编辑 - 尝试
Fs = 1e6;
figure()
meanfreq(signal, Fs)
figure()
meanfreq(signal,freqrange)
产生大量错误。
Error using meanfreq
Expected input number 1, Pxx, to be nonnegative.
Error in psdparserange>parsePSD (line 121)
validateattributes(Pxx,{'numeric'},{'2d','nonnegative'}, funcName,'Pxx',1);
Error in psdparserange (line 40)
[Pxx, F, Frange, rbw] = parsePSD(funcName, varargin{1:min(n,3)});
Error in meanfreq (line 63)
[Pxx, F, Frange, rbw, extraArgs, status] = psdparserange('meanfreq', kaiserBeta, varargin{:});
Error in Main_analysis_Fullsignal (line 30)
meanfreq(signal,freqrange)
我认为这是一个兼容性问题 - 一旦我开始使用 2019b 版本的 matlab 而不是 2017a,我就没有问题了。