当前位置:
首页 >
matlab生成任意波形发生器(AWG)所需波形文件程序
发布时间:2024/1/18
46
豆豆
生活随笔
收集整理的这篇文章主要介绍了
matlab生成任意波形发生器(AWG)所需波形文件程序
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
matlab生成任意波形发生器(AWG)所需波形文件程序
环境
matlab2016a
简介
使用Matlab生成任意波形发生器(AWG)所需波形文件,使得任意波形发生器产生你所需波形,本文使用高斯脉冲来举例。
代码
%任意波形发生器输入波形程序Num1Period=100; %在任意波形发生器一个脉冲周期的点数Fs=16e9; %任意波形发生器的采样率16G Sa/s Ts=1/Fs; ContinueTime=Ts*Num1Period %总共2400个点,有24个周期的脉冲,100点一个周期,6.25e-9 s= 6.25ns一个周期 Freq=1/ContinueTime%脉冲频率160MHz%高斯脉冲参数 t=linspace(-ContinueTime/2,ContinueTime/2,Num1Period); Lenth_t=length(t); tao=ContinueTime/10; t0=0;Info=[1,0,1,0,0,1,1,1,0,1,1,0,1,0,0,1,1,1,0,1,1,0,1,1]; %2400个点,有24个脉冲波形 InfoBitNum=numel(Info); MSign=zeros(InfoBitNum,Lenth_t); %%%二阶高斯脉冲,PAM调制的0编码对应的波形 y0=(-0.5).*(t.^2-tao.^2).*exp(-1.*((t-t0)/tao).^2)./(((2*pi).^(1/2)).*(tao.^5)); y0=y0./max(y0)/2; %%%二阶高斯脉冲,PAM调制的1编码对应的波形 y=(-1).*(t.^2-tao.^2).*exp(-1.*((t-t0)/tao).^2)./(((2*pi).^(1/2)).*(tao.^5)); y=y./max(y); figure subplot(2,1,1) plot(t,y) grid on axis([-ContinueTime/2,ContinueTime/2,-0.2,1]) xlabel('t') ylabel('y')for i=1:InfoBitNumif Info(i)==1MSign(i,:)=repmat(y,1);else MSign(i,:)=repmat(y0,1);end endMSignDisplay=MSign.'; MSignDisplay=MSignDisplay(:); csvwrite('AWG.csv',MSignDisplay);%输出为.csv文件,改后缀名 MSignDisplay=MSignDisplay.';tDisplay=linspace(0,ContinueTime*InfoBitNum,Num1Period*InfoBitNum); subplot(2,1,2) plot(tDisplay,MSignDisplay) grid on axis([0,ContinueTime*InfoBitNum,-0.2,1]) xlabel('t') ylabel('AWGwave')结果
由图上分别展示了你所生成的单个波形的图和1,0,1,0,0,1,1,1,0,1,1,0,1,0,0,1,1,1,0,1,1,0,1,1的PAM调制后的波形
也生成了.csv文件,根据AWG所需的文件格式和内容格式修改。
内容可能存在疏漏,仅供参考,欢迎评论区指出
总结
以上是生活随笔为你收集整理的matlab生成任意波形发生器(AWG)所需波形文件程序的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 关于年报行情
- 下一篇: 1.matlab画正弦函数图