writewav.m

来自「这是盲信号的代码 都已经通过编译了 做这方面的同仁可以参考一下 我觉得蛮惯用的」· M 代码 · 共 54 行

M
54
字号
function writewav(y,fs,n)
%
%y is the recoverd signal
%fs is the sample frequency
%sample bit
%
%
%
if nargin ~= 3
    error('input parament must be 3');
    fprintf('signal y,sample frequency fs,sample bit n');
end
[dim,sample]=size(y);
for i=1:dim
y(i,:)=y(i,:)-mean(y(i,:));
y(i,:)=y(i,:)/max(abs(y(i,:)));
end
if dim == 1
    wavwrite(y,fs,n,'y1.wav');
end
if dim == 2
     wavwrite(y(1,:),fs,n,'y1.wav');
      wavwrite(y(2,:),fs,n,'y2.wav');
end
if dim == 3
    wavwrite(y(1,:),fs,n,'y1.wav');
      wavwrite(y(2,:),fs,n,'y2.wav');
      wavwrite(y(3,:),fs,n,'y3.wav');
end
if dim == 4
    wavwrite(y(1,:),fs,n,'y1.wav');
      wavwrite(y(2,:),fs,n,'y2.wav');
      wavwrite(y(3,:),fs,n,'y3.wav');
      wavwrite(y(4,:),fs,n,'y4.wav');
end
if dim == 5
    wavwrite(y(1,:),fs,n,'y1.wav');
      wavwrite(y(2,:),fs,n,'y2.wav');
      wavwrite(y(3,:),fs,n,'y3.wav');
      wavwrite(y(4,:),fs,n,'y4.wav');
      wavwrite(y(5,:),fs,n,'y5.wav');
end
if dim == 6
    wavwrite(y(1,:),fs,n,'y1.wav');
    wavwrite(y(2,:),fs,n,'y2.wav');
    wavwrite(y(3,:),fs,n,'y3.wav');
    wavwrite(y(4,:),fs,n,'y4.wav');
    wavwrite(y(5,:),fs,n,'y5.wav');
    wavwrite(y(6,:),fs,n,'y6.wav');
end
if dim > 6
    error('dim can not more than 6');
end
    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?