matlab - Matlab Meanfreq 函数与 Freqrange
问题描述
使用 matlab Meanfreq 中的内置函数来计算我的信号的平均频率,该信号由具有上下可靠范围(70kHz 至 500kHz)的传感器记录。
根据帮助(https://uk.mathworks.com/help/signal/ref/meanfreq.html#d117e104641)我应该能够指定这个可靠的范围,但是当我这样做时,MeanFreq 返回的值超出了这个范围(0.176 kHz)这显然是不正确的。
有人知道任何提示或技巧吗?
TIA
我使用的不带 Freqrange 的代码是:
Fs = 1e6;
figure()
meanfreq(signal, Fs)
然后用我的Freqrange
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,我就没有问题了。
推荐阅读
- java - Android Studio Firestore RecyclerView
- codeigniter - 如何在 Codeigniter 4 的同一行中编写方法和分页
- python - 匹配两个 seaborn 地块的图例颜色
- ios - 为什么 App Store Connect 审核收到 CKError QuotaExceeded
- python - 如何从这个字典列表中找到具有玩家 ID 的 5 个最大分数?
- python - pd.iterrows() 消耗所有内存并给出错误(进程以退出代码 137 完成(被信号 9 中断:SIGKILL))
- r - 带有自定义提示的 R geom_errorbar
- r - 在基本绘图函数中设置光栅图的 X 和 y 限制
- android - android:如何从 RecyclerView 中的搜索修复 SpannableStrings?
- java - 休眠 saveOrUpdate 方法