EDA365电子论坛网

标题: 如何生成一个频率在1k或2k这两个频率切换的正弦波 [打印本页]

作者: elephant_    时间: 2022-8-31 13:48
标题: 如何生成一个频率在1k或2k这两个频率切换的正弦波
思路如下,就是不会实现,请问怎么用matlab function实现,谢谢大家7 W* b# R. @+ b& a

/ D8 E" U8 o+ ]0 A9 b
作者: unfaithful2021    时间: 2022-8-31 14:52
代码如下,频率根据需求自己调整, b* B6 Y6 V, `' Y) E/ N7 H7 X% F7 G
a=unidrnd(2);
& C8 R- V7 H$ n& I- Q' c- L2 Yc=a-1;
  z/ s( L% {6 \: NHF_fre=50;
3 d; T+ l7 u+ U4 C5 o8 o% z# [ts=0.0001;0 m( N6 p, y, S- L6 U
HF_theta1=HF_theta+2*pi*HF_fre1*ts;%生成高频角度
+ C# n+ j+ C# D" g# VHF_theta1=mod(HF_theta1,2*pi);%求余7 ]! H/ |1 [9 _
HF_theta=HF_theta1;%保存上周期角度
0 m  k6 ]* q- s8 v* M( iif HF_fre1>503 F7 }( {. d  w; i& }  A
    Ui=20;
3 q7 w* i" Y0 m* H( u0 Belse
! }1 D4 q/ B; A6 U! w6 x' X    Ui=10;
4 u: `3 F" B$ I1 ^1 g& gend
: Q; g; {( v' x( C8 ^Udi=Ui*sin(HF_theta1);%d轴注入电压  ]7 W) l) M$ K$ l
Ude=sin(HF_theta1+pi/2);
3 M5 P7 ]! z4 s- o3 |, _if RegUdi<=0&&Udi>0& x, T; T; ?5 H8 R: S
    HF_fre1=c*HF_fre+HF_fre;' s$ Q% f% c, a
end6 j! O; b3 `+ @: V
RegUdi=Udi;
& ?; A* L* W6 p# ~" d# k4 f9 f. S
作者: I_believe    时间: 2022-8-31 15:13
用倍角公式可以吧
, ~( c1 Q! t$ R0 f- A# M源信号是sin(a)0 {& x- i, w7 _" K$ ^/ U; p) q
相乘的信号用随机信号控制 【0或1】*2cos(a)。
作者: elephant_    时间: 2022-8-31 15:24
I_believe 发表于 2022-8-31 15:132 P1 \# R. b5 n0 B
用倍角公式可以吧
0 k, J* Z" v' W  `1 r; @  t# c源信号是sin(a)+ B( i5 @1 a" J/ p. X6 l
相乘的信号用随机信号控制 【0或1】*2cos(a)。

) n3 Y; G7 o6 @  K) D: F$ \" M您好,我主要是在一个正弦波周期完成后再判断生成随机频率比较困惑,不知如何实现( W; }* u' v4 U0 W: s) L& P0 g8 t' e





欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2