MATLAB产生方波coe文件

% 定义方波参数
    t = 1:628;
    Z = zeros(1,length(t));
% 方波
    Z = square(t/50,50);
    Z = Z;
    Z = Z*5;
    ZZ = 0.1*randn(1,628);
    ZZ = ZZ * 10;
    Z = Z+ZZ;
%生成正弦波
%     t = linspace(0,10,628);
%     Z = 10*sin(2*pi*t)+2;
%     ZZ = randn(1,628);
%     Z=Z+ZZ+10;
    plot(Z);

% 生成 coe 文件
depth = 628;     % 存储深度
bits = 32;      % 存储位宽
filename = 'signal4.coe';    % coe 文件名

% 将信号量化为整数
% q_signal = round(Z * (2^(bits-1)-1));
q_signal = round(Z);
% q_signal = Z;

% 打印 coe 文件头部信息
fid = fopen(filename,'w');
fprintf(fid,'; Sample COE file for signal\n');
fprintf(fid,'; Depth=%d, Width=%d\n',depth,bits);
fprintf(fid,'; Radix=2\n'); % Change Radix to 2 for binary
fprintf(fid,';--------------------------------------------\n');
fprintf(fid,'memory_initialization_radix=2;\n'); % Change radix to 2 for binary
fprintf(fid,'memory_initialization_vector=\n');

% 存储信号 as 32-bit binary numbers
for i = 1:depth
%     fprintf(fid,'%d,\n',int32(q_signal(i)));
%     fprintf(fid,'%032s,\n',dec2bin(int32(q_signal(i)), bits));
    fprintf(fid, '%s,\n', dec2bin(typecast(int32(q_signal(i)), 'uint32'), bits));%能生成方波低电平是负数的代码
%     fprintf(fid,'%f,\n',single(q_signal(i)));
%     fprintf(fid,'%a,\n', typecast(single(q_signal(i)), 'uint32'));
end

fclose(fid);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值