将一个DSP和FPGA中产生的hex格式的数据读入到matlab中,并转换成10进制
- UID
- 1029342
- 性别
- 男
|
将一个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; |
|
|
|
|
|