找回密码
 注册
关于网站域名变更的通知

如何生成一个频率在1k或2k这两个频率切换的正弦波

查看数: 421 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-8-31 13:48

正文摘要:

思路如下,就是不会实现,请问怎么用matlab function实现,谢谢大家 ! |, d) Y+ A! j/ x8 ]4 T# U; J # ?; i) @* z! {

回复

elephant_ 发表于 2022-8-31 15:24
I_believe 发表于 2022-8-31 15:13
# u% S$ ]4 \/ O$ T+ B+ e7 N5 y. F用倍角公式可以吧& q, E- S5 B: ^
源信号是sin(a)! e" P; K4 k% M9 {2 G4 K
相乘的信号用随机信号控制 【0或1】*2cos(a)。
5 d7 }# g! l. Z3 j
您好,我主要是在一个正弦波周期完成后再判断生成随机频率比较困惑,不知如何实现
( F1 D  ?* \3 a3 _* C# e, A( G5 Y
I_believe 发表于 2022-8-31 15:13
用倍角公式可以吧! R+ n. T- d) Z
源信号是sin(a)2 k& p( u* O% t* ?
相乘的信号用随机信号控制 【0或1】*2cos(a)。

点评

您好,我主要是在一个正弦波周期完成后再判断生成随机频率比较困惑,不知如何实现  详情 回复 发表于 2022-8-31 15:24
unfaithful2021 发表于 2022-8-31 14:52
代码如下,频率根据需求自己调整) j2 G! B% y& I. Q
a=unidrnd(2);
4 o. j+ \2 k( L! q: F0 ?% u, V/ T) @c=a-1;3 R4 S( p- o; I6 o' M  y9 y8 P: {
HF_fre=50;
- d" @* y4 O* h  {ts=0.0001;8 o# p+ V+ b# l- W
HF_theta1=HF_theta+2*pi*HF_fre1*ts;%生成高频角度
: u9 m) H/ H2 n" Z8 vHF_theta1=mod(HF_theta1,2*pi);%求余; ]4 [/ H0 f+ E, o
HF_theta=HF_theta1;%保存上周期角度' Z1 \4 `8 H0 R7 l! m- k) G: J
if HF_fre1>507 o! S" b) \" q7 j  e% j/ ]
    Ui=20;
0 |, m: J( V0 ~9 ~4 jelse
& }/ r% `7 _9 E( F- Z, A    Ui=10;
5 G* M$ `/ r/ Eend0 q, W( c; p: x/ s* h' Y
Udi=Ui*sin(HF_theta1);%d轴注入电压
% c. O, [9 |$ L+ K: qUde=sin(HF_theta1+pi/2);, D' N& Q" F+ b/ w" ?; r
if RegUdi<=0&&Udi>0
0 Z9 F  i- [. I1 G3 c    HF_fre1=c*HF_fre+HF_fre;! M  W" [9 ^0 c% m2 |# o6 f+ T
end
7 _, n; x. s) s' w/ J# A+ vRegUdi=Udi;
# S1 [4 e8 j0 ^" i
关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 14:19 , Processed in 0.156250 second(s), 30 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表