Matlab 常用语句总结

%% 循环读取某路径下相同文件格式的文件

%% 以*.dat文件为例
clear all;
files = dir(strcat('g:\\breath_data\\','*.dat'));
file_num = 100;%文件个数

adc_datai = zeros(file_num,2048);
adc_dataq = zeros(file_num,2048);

for i = 1:file_num
    fp = fopen(strcat('g:\breath_data\',file(i).name));
    adc_data = fread(fp,2048*2,'int16');
    adc_datai(i,:) = adc_data(1:2:4096 - 1);
    adc_dataq(i,:) = adc_data(2:2:4096);
end

%% 产生一个单音信号

clear all;
real = zeros(1,1024);
imag = zeros(1,1024);

data_fre = 0.1; %signal_rate
fsample = 2; %sampling_rate
N = 1024;    %sample_point
t = (0:N-1)/fsample;
real = 2*cos(2*pi*data_fre*t);
imag = 2*sin(2*pi*data_fre*t);
fft_data = abs(fft(real + 1i*imag,1024));%对复数信号做FFT
figure(1);
plot(fft_data);

%% 原码<--->补码

%% 以16位宽数据为例

clear all;

%%原码到补码
for i = 1:1024
    if data(i) < 0
        data(i) = data(i) + 2^16;
    else 
        data(i) = data(i);
    end
end 


%%补码到原码
for i = 1:1024
    data(i) = bitshift(data(i),-15);
    if data(i) < 0
        data(i) = data(i);
    else 
        data(i) = data(i) - 2^16;
    end 
end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值