Как Вы генерируете двойные тональные частоты в MATLAB?

что относительно VMVCV - чтобы указать, как можно использовать несколько представлений

7
задан Community 18 February 2014 в 01:53
поделиться

1 ответ

Продолжительность воспроизведения данного вектора зависит от количества элементов в векторе и частота дискретизации. Например, вектор из 1000 элементов при воспроизведении на частоте 1 кГц будет длиться 1 секунду. При воспроизведении с частотой 500 Гц он длится 2 секунды. Поэтому в первую очередь вам следует выбрать частоту дискретизации, которую вы хотите использовать. Чтобы избежать наложения спектров , частота дискретизации должна быть вдвое больше, чем наибольшая частотная составляющая сигнала . Однако вы можете захотеть сделать его даже больше, чтобы избежать ослабления частот, близких к частоте дискретизации.

При частоте дискретизации 1 кГц, в следующем примере создается звуковой вектор заданной длительности и частоты тона (с использованием функций LINSPACE и SIN ):

Fs = 1000;      %# Samples per second
toneFreq = 50;  %# Tone frequency, in Hertz
nSeconds = 2;   %# Duration of the sound
y = sin(linspace(0, nSeconds*toneFreq*2*pi, round(nSeconds*Fs)));

При воспроизведении на частоте 1 кГц с использованием SOUND , этот вектор будет генерировать тон 50 Гц в течение 2 секунд:

sound(y, Fs);  %# Play sound at sampling rate Fs

Затем вектор можно сохранить в виде файла wav с помощью функции WAVWRITE :

wavwrite(y, Fs, 8, 'tone_50Hz.wav');  %# Save as an 8-bit, 1 kHz signal

Звуковой вектор может быть загружен позже с помощью функции WAVREAD . Если вы собираетесь объединить два звуковых вектора, убедитесь, что они оба предназначены для использования одинаковой частоты дискретизации.

wavwrite(y, Fs, 8, 'tone_50Hz.wav');  %# Save as an 8-bit, 1 kHz signal

Звуковой вектор может быть позже загружен с помощью функции WAVREAD . Если вы собираетесь объединить два звуковых вектора, убедитесь, что они оба предназначены для использования одной и той же частоты дискретизации.

wavwrite(y, Fs, 8, 'tone_50Hz.wav');  %# Save as an 8-bit, 1 kHz signal

Звуковой вектор может быть позже загружен с помощью функции WAVREAD . Если вы собираетесь объединить два звуковых вектора, убедитесь, что они оба предназначены для использования одной и той же частоты дискретизации.

19
ответ дан 6 December 2019 в 10:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: