Доброго времени. Создал лчм сигнал, теперь хочу задать его комплексным, и вывести в wav. Возникает ошибка и появляются вопросы.
fs = 16000; % частота дискретизации
f0 = 100; % начальная частота
f1 = 8000; % конечная частота
A = 1; % амплитуда
fcarrier = (f0 + f1) / 2;
omega = f1 - f0;
tf = 2; % время излучения сигнала
%один импульс
t = 0 : 1/fs : tf - 1/fs;
t1 = -tf/2 : 1/fs : tf/2 - 1/fs;
Sre = A*cos(2 * pi * fcarrier .* t + 2 * pi * omega * t1.^2 / (2*tf));
Sim = A*sin(2 * pi * fcarrier .* t + 2 * pi * omega * t1.^2 / (2*tf));
s = complex(Sre, Sim);
s = A*exp(1i * 2 * pi * fcarrier .* t + 2 * pi * omega * t1.^2 / (2*tf));
% повторение импульса
nChirps = 5; % Число повторений
tpause = 2; % пауза (2 секунды)
chirpMulti = s;
for i = 1:nChirps-1
%chirpMulti = repmat([s zeros(1, tpause * fs)], 1, nChirps); % повторение излучения с паузой в tpause секунд
chirpMulti = [chirpMulti, s]; % Повторение излучения без паузы
end
% график временной области
dt = 1/fs;
n = length(chirpMulti);
t = 0:dt:(n-1)*dt;
plot(t, chirpMulti);
% спектр
Spc = abs(fft(chirpMulti));
fx = fs/2*linspace(-1,1,length(Spc));
figure, plot(fx,fftshift(Spc))
grid on
xlim([0 20])
title('спектр лчм сигнала')
xlabel('Частота, Гц')
% запись в wav
%sound(chirpMulti,fs);
filename='D:\Vlad\ML\Chirp\chirp_pause_2sec.wav';
audiowrite(filename,chirpMulti,fs)
Появляется предупреждение:
Warning: Imaginary parts of complex X and/or Y arguments ignored
> In chirp_signal (line 42)
Warning: Data clipped when writing file.
In audiowrite>clipInputData (line 404)
In audiowrite (line 184)
In chirp_signal (line 56)
Это может быть связано с тем, что комплексный сигнал должен записываться в wav в 2 канала, но не могу понять, как осуществить.
Отдельно генерировал без записи в файл, все нормально:
Fs = 48000;
F = 1000;
t = 0 : 1/Fs: 0.1;
S0 = 1;
phase = 0;
Sre = 0.5 * S0 * cos(2*pi*F*t+phase);
Sim = 0.5 * S0 * sin(2*pi*F*t+phase);
S = complex(Sre, Sim);
Sp = S0*exp(1i*2*pi*F*t+phase);
Fc = 15e3;
Sm = Sre.*cos(2*pi*Fc*t+phase);
Можно ли указывать при записи wav количество каналов, битность и частоту дискретизации файла? Частота дискретизации, как полагаю, будет той же, что задал в коде..