EDA365电子论坛网
标题:
关于Matlab过滤器的问题
[打印本页]
作者:
Allure
时间:
2020-7-7 19:42
标题:
关于Matlab过滤器的问题
) G+ v( i" |/ B$ B; E# L, M
( g6 M; l5 {2 {7 ^) X% O
您好,
! C3 G7 G1 R& S
" W: B4 a6 b4 u3 `3 e
6 Q) a/ J1 ?. r; p8 ~2 Y q5 S
我的第一个问题是关于matlab过滤器参数定义。
0 Z; v) |' f4 m7 R. a# V
2 x8 j d* g5 _3 d2 j
2 C5 s7 J& F* c0 J8 P* k2 a1 _& N
这个例子中的dataTypes为整数和浮点数
0 L9 L4 k. v( O0 B; {; `( u. Z2 q$ U
部分DataType名称=值DefaultValue LowRange HighRange //注释
( I8 @& w5 o: e1 K
例如,如果我将其放在用于matlabsignalprocessing模块的bci_construct.m中:
8 Z( a2 M* p; Z; _0 T& Y, g$ J0 Y
% ^& B0 z* s, f
/ M1 X3 F( e9 E+ ?
['Visualize float Passbandlow = 8 30 0%%//带通较低的频率(Hz)'] ...
5 K& |* Z( [2 u, q* p3 I
. a5 }+ W* h) f' r, s
) T9 N* V. A2 S4 B
名为Passbandlow的参数将在“ Visualize”窗口中可视化值为8。那么,如果我们已经在框内将Value作为默认值,那么DefaultValue(30)参数的点该怎么办?
% K9 {6 j- U# E4 t
! a9 x: w6 i# n0 H8 Y a
) ~1 S5 {6 e5 w2 _- ?9 U2 L! ^3 z$ W
继续此(我是Matlab的新手),假设我在bci_construct.m中有以下代码:
1 Z9 r4 y3 _; l8 {: s; l
码: 全选
+ i: t0 K% z7 K* u8 k& u7 H
T; C9 P2 s; q5 d; B( ~/ x
( _( w( F+ o4 ?0 F6 e5 a; y8 b. {
parameters = { ...
7 i; O5 Q* J( U/ s, s! d9 Y* J( W
[ 'Visualize float Passbandlow= 8 8 0 % % // Bandpass lower frequency in Hz' ] ...
# C! P) Y6 G9 S* c. O$ `9 W
[ 'Visualize float Passbandhigh= 30 30 0 % % // Bandpass higher frequency in Hz' ] ...
2 u% X6 A) J( |
[ 'Visualize list FirstAnalisisBand= 2 8 12 0 % % // First band range to analyse in Hz' ] ...
. L, ]* j! Z$ j3 @$ b: w
[ 'Visualize list SecondAnalisisBand= 2 12 20 0 % % // Second band range to analyse in Hz' ] ...
( |/ _- ~) n* Y2 {
[ 'Visualize list ThirdAnalisisBand= 2 20 30 0 % % // Third band range to analyse in Hz' ] ...
9 t2 _" I: r( W
};
( ^$ H0 B* Y. h; X
0 Z( r9 }) u- L( B# [3 R% [
4 i9 {% r8 g( Q, d
states = { ...
7 V0 A5 [0 \/ j
'VisualizeStates 4 0 0 0' ...
$ `2 w. X/ N/ b# A. B
};
! B- }' Z% z: @5 n( q& W8 Q+ B; V
现在,在bci_preflight.mi中,要检查FirstAnalisisBand的第二个值(根据配置框中显示的值,默认为12)小于或等于SecondAnalisisBand的第一个值(默认为12)。另外我抛出一个错误。
7 X Z. @% L& Y3 J& n( A H9 T
/ u$ l9 K- x+ d/ Z
) C& ?& i, }3 o8 w3 V
我该怎么办?
1 E! Q+ ~0 O8 h8 E1 W+ @' b
$ M" A+ `, Z7 Y- x; n6 q* X3 t/ I
& F; x( ~4 S( c1 B# |9 ^0 K
我正在尝试这样的事情:
1 E* A( Q: b3 t+ i' {5 m) v
, t, ]# V5 ^) g+ ^+ } J
. j5 ^3 p$ t& K: A) S/ T! g) D) D2 @
if(str2double((bci_Parameters.SecondAnalisisBand,2))<str2double(bci_Parameters.FirstAnalisisBand,3))
" B- C9 T9 K. s. J
error([...
4 ?! u4 f% y+ l% K) N* j& ?9 T7 ^
'SecondAnalisisBand第一值不能小于FirstAnalisisBand第二值'.. 。
# V" K5 K7 X4 l" T: [. {
]);
# g D* f* R- l
结束
3 i0 u& I: P1 g m$ f
6 e3 z: h1 Z9 t, A. k+ J
) X! p/ a* F! q1 J- }7 [, t
但它不起作用。
3 K4 |* u4 f6 Y3 v) U6 F7 z1 @
2 U i k9 X( e* V. u
作者:
CCxiaom
时间:
2020-7-8 10:36
来看看,顶一下
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2