用如下matlab代码生成特定频率不同位深的wav文件
clc;
close all;
clear all;
fclose('all');
f = 22500;
BitsPerSample = 32;
DB = -30;
AMP = 10^(DB/20)*2^(BitsPerSample-1);
fs = 48000;
normalization = 2^(BitsPerSample-1);
n = 1:1:128*1000;
sample=round(sin(2*pi*f/fs*n)*AMP);
sample_normalization=sample/normalization;
audiowrite('22500.wav',sample_normalization,48000,'BitsPerSample',BitsPerSample);
其中BitsPerSample 为位深,48000为采样率
结果如下:
- BitsPerSample = 16 时
- BitsPerSample = 24 时
- BitsPerSample = 32 时