首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

将一个DSP和FPGA中产生的hex格式的数据读入到matlab中,并转换成10进制

将一个DSP和FPGA中产生的hex格式的数据读入到matlab中,并转换成10进制

现在介绍如何将一个DSP和FPGA中产生的hex格式的数据读入到matlab中,
    并转换成10进制,进行一些分析和信号处理操作,然后再转换成hex格式,
    从而来指导DSP和FPGA进行相应的信号处理工作

Ts=1/50e6;
fid = fopen('test.txt');
test = fscanf(fid, '%s\n');
tt = fi(0,1,16,15);
x1 = zeros(1,length(test)/4);
for i = 1:length(test)/4
tt.hex = test((4*i-3):4*i);
x1(1,i)=tt.data;
end

x=x1(1:n); %n为付立叶变换的点数,是2的幂,一般取512或1024

%***************1.正弦波****************%
fs=50e6;%设定采样频率
N=1024;
n=0:N-1;
t=n/fs;
figure(1);
subplot(211);
plot(1:length(x),x,'b');%作输入信号的时域波形
%stem(x);
hold on;
xlabel('t');
ylabel('x');
title('输入信号x时域波形');
grid on;


%进行FFT变换并做频谱图
y=fft(x,N);%进行fft变换
mag=abs(y)*2/N;%求幅值
f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换
figure(1);
subplot(212);
plot(f,mag,'b');%做频谱图
hold on;
xlabel('频率(Hz)');
ylabel('幅值');
title('输入信号x幅频谱图N=1024');
grid;
继承事业,薪火相传
返回列表