Тест на вменяемость :-)
Например, я хочу нарисовать осциллограмму гармонического сигнала. Например, с частотой 50 Гц. Например, на протяжении секунды.
Те, кто еще что-то помнят и понимают, сообразят, что я должен бы по идее увидеть 50 периодов синусоиды, там, или косинусоиды.
Пример на MATLAB:
f=50;
t=0:0.01:1;
s = sin(2*pi*f*t);
plot(t,s);
В результате получим, мягко говоря, неожиданный результат:

Тест на вменяемость: что и почему не так?


9 коммент.:
f=50;
t=0:0.001:1;
s = sin(2*pi*f*t);
plot(t,s);
ну... правда ли надо для этого превышать в 10 раз требования теоремы Котельникова? :-)
Боюсь нести чушь, но по теореме Котельникова fd>=2fmax, где fmax у нас верхняя частота спектра. Ширина полосы частот будет 2*f то бишь 100Гц, значит интервал дискретизации должен быть никак не меньше 0.005с. Имхо все так)
Маленько путаница, конечно :-)
В примере: F = Fmax = 50 Гц
По теореме Котельникова (ну или Найквиста, кому как нравится) частота дискретизации Fd должа быть >= 2Fmax.
Крайний вариант:
Fd = 2Fmax = 100Гц => Td = 1/100 c = 0.01, что и записано в примере. То есть условия теоремы формально выполнены.
А где синус? Ну хоть бы и косоватенький ;-)))
Дык спектр-то у нас относительно абсциссы вроде зеркален, значит fmax=2*f=100Гц, а собственно fd>=2fmax. Вот и (ко)синус) И даже не косоватенький)
Приведенное рассуждение до конца мне не ясно, хотя и имеет определенное сходство с реальностью. Ни синуса не косинуса не вижу :-)
На 0.005 секундах(fd=2*fmax(fmax=2*f)=200Гц) получается замечательный синус, на больших интервалах - наложение. Если Котельников разрешает нам дискретить на 0.01 секунде, то как?
В чем секрет?
Илья, подсказкой служит порядок получаемых значений. Начало отсчетов в нуле (sin(0) = 0), последующие берутся с интервалом равным полупериоду (попадаем в тот же ноль), а отличие от нуля можно объяснить погрешностью (мы вроде писали лабы в маткаде по определению машинного нуля и бесконечности)
Ответ зачтен.
Отправить комментарий