|
|
  |
Как поднять разрешающую способность АЦП, с 10-разрядов до 12..16 разрядов |
|
|
|
Mar 9 2008, 14:51
|
Местный
  
Группа: Свой
Сообщений: 292
Регистрация: 28-01-05
Из: МО, Мытищи
Пользователь №: 2 274

|
Цитата(fontp @ Mar 9 2008, 15:40)  С самой частотой Fs/2 математики тоже разобрались. В строгой формулировке теоремы Котельникова сказано не равно, а равно с вероятностью 1 С вероятностью 0 не равно. Почему свероятностью 0? Да потому, что при случайной фазе синуса получить 000000 можно только в одной точке фазы 0 на отрезке (0, pi). А вероятность попасть в эту точку при случайной фазе в отрезке (0,pi) равна в точности 0. Как говорится, мера у точки нулевая по отношению континнума точек отрезка. С синусом Fs/2 будут проблемы при любой начальной фазе. пусть x(t)=sin(Fs/2*2*Pi*t+phi) -> x(t)=sin(Pi*Fs*t+phi) Тогда x(k/Fs)=sin(Pi*k+phi)=sin(Pi*k)*cos(phi)+cos(Pi*k)*sin(phi) С учётом, что sin(Pi*k)=0 для любых целых k, и cos(Pi*k)=-1 для нечётных k и =1 для остальных получим: x(k/Fs)=sin(phi), чётные k и k=0 x(k/Fs)=-sin(phi), нечётные k получаем последовательность sin(phi), -sin(phi), sin(phi), -sin(phi), ... в этой последовательности потеряна амплитуда исходного сигнала. Тоесть подставив эти значения в ряд Котельникова мы не получим исходный сигнал.
|
|
|
|
|
Mar 9 2008, 15:08
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(GetSmart @ Mar 9 2008, 17:43)  Давайте по порядку, а то я немного отходил в сторону. Система функций обладает двойной ортогональностью, если она ортогональна на бесконечности и на конечном интервале. Как это всё помогло fontp, лучше спросить у него самого. В вещественном случае (случае действительного сигнала) ДПФ на 4 точки даст 3! ортогональные частоты - 0, Fs/4, Fs/2. Частоты 0+dF и Fs-dF легко обнаруживаются ДПФ как кратные при соответствующем выборе числа точек. Если кратность поймать невозможно, то эти частоты преобразуются ДПФ в отсчеты sinx/x с "цетрами тяжести" между 0 и 1 для 0+dF и между N/2 и N/2+1 (Fs/2). При этом вполне возможно появление слабых гармоник частоты (0+dF) на частоте Fs/2 и наоборот. Ортогональность частот по их вещественным компонентам (из комплексного представления) сто процентная, не сомневайтесь. Как sin ортогонален cos. Цитата(GetSmart @ Mar 9 2008, 17:43)  Надо было сразу написать, что при Fв = Fs/2 становятся 4 частоты неортогональны Fs-Fв, 0+Fв, 0-Fв, и -Fs+Fв. Две из которых ещё могут быть неортогональны, но не 4 же сразу!!! Все эти частоты в вещественном случае просто один и тот же сигнал. Поэтому Вы совершенно правы, они все неортогональны  Цитата(GetSmart @ Mar 9 2008, 17:43)  А теперь умножте это на проекцию данных на вещественную ось и всё устремится к нулю при увеличении окна. Даже так: какова ортогональность частот по их вещественным компонентам (из комплексного представления)? Ну или ортогональность по вещественной оси? Точно такая же, как и при комплексном - скалярное произведение, лучше если еще деленное на квадрат нормы. При увеличении окна не растёт и не стремиться к нулю, а равно константе. Цитата(GetSmart @ Mar 9 2008, 17:43)   Дополню: Есть у меня F/2. Если она с фазой 0, то я получу 0,0,0,0 Если он у меня с фазой 30 град. Я получу 0.5, 0.5, 0.5, 0.5 Если он у меня с фазой 45 град. Я получу 0.7, 0.7, 0.7, 0.7 Если он у меня с фазой 90 град. Я получу 1, 1, 1, 1 Фазы 30, 45 и 90 град. Вы посчитали неправильно. Цитата(GetSmart @ Mar 9 2008, 17:43)  Ортогональность на вещественной оси нельзя доказать ни на конечном числе отсчётов, ни на бесконечном! Тоже неправильно: (1,0,-1,0) и (0,1,0,-1) - отсчеты косинуса и синуса Fs/4 - ортогональны.
|
|
|
|
|
Mar 9 2008, 15:28
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
fontp, а то, что чем шире окно, тем больше должна быть точность данных, идущих от АЦП, для выявления крайних частот Вам о чём-то говорит? (подсказка - о пределе не говорит?) Причём, не надо думать, что проблемы только с верхами. С низами такие же проблемы. Если вдруг в НЧ последовательности возникнет ошибка в 1 бит, то идеальный синк её просто неправильно "опознает" и приравняет к верхним частотам. А если там будет НЧ шум, то он с такой же вероятностью вылезет в верхних частотах, близких к Fs/2. Цитата(729) В вещественном случае (случае действительного сигнала) ДПФ на 4 точки даст 3! ортогональные частоты - 0, Fs/4, Fs/2. Я ж доказал  что 0 и Fs/2 не ортогональны. Цитата Частоты 0+dF и Fs-dF легко обнаруживаются ДПФ как кратные при соответствующем выборе числа точек. Тут (в пределе) есть ещё одна его особенность, что он по "правильным" законам должен "наследовать" немного инфы (о сверхнизких и сверхвысоких частотах, стремящихся к Fs/2) из предыдущих окон. Цитата(729) Ортогональность частот по их вещественным компонентам (из комплексного представления) сто процентная, не сомневайтесь. Как sin ортогонален cos. Врёте Вы всё  Что бы они 100% были ортогональны комплексное представление сигнала ни в коем случае не должно "извлекаться" из такого же размера действительных чисел. Вы понимаете (?) что придумали математики? Они решили создать из N действительных чисел в 2 (!) раза больше действительных чисел для комплексного представления всех частот. Цитата(729) Тоже неправильно: (1,0,-1,0) и (0,1,0,-1) - отсчеты косинуса и синуса Fs/4 - ортогональны. Откуда взялись комплексные представления? Из пальца высосаны? Одно дело, когда их можно достоверно восстановить из сигнала (последовательности действительных чисел) и совсем другое дело, когда математики с ума сходят в своём комплексном мире
Сообщение отредактировал GetSmart - Mar 9 2008, 15:31
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Mar 9 2008, 15:38
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(GetSmart @ Mar 9 2008, 18:28)  Я ж доказал  что 0 и Fs/2 не ортогональны. Где? Цитата(GetSmart @ Mar 9 2008, 18:28)  Вы понимаете (?) что придумали математики? Они решили создать из N действительных чисел в 2 (!) раза больше действительных чисел для комплексного представления всех частот. А может всё совсем наоборот? Из N комплексных чисел с нулевыми мнимыми частями они решили создать N комплексных чисел, половина из которых есть линейная комбинация чисел из второй половины? Цитата(GetSmart @ Mar 9 2008, 18:28)  Откуда взялись комплексные представления? Из пальца высосаны? Одно дело, когда их можно достоверно восстановить из сигнала (последовательности действительных чисел) и совсем другое дело, когда математики с ума сходят в своём комплексном мире  Это целая тема. Если хотите, то выскажу своё видение сего феномена.
|
|
|
|
|
Mar 9 2008, 15:50
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(729) Фазы 30, 45 и 90 град. Вы посчитали неправильно. Согласен, но я немного не это хотел сказать. А вот что: допустим фаза 0 амплитуда 10. последовательность = 0,0,0,0 (равно как и 100,100,100,100) допустим фаза 30 амплитуда 10. последовательность = 5,-5,5,-5 (равно как и 105,95,105,95) допустим фаза 45 амплитуда 10. последовательность = 7,-7,7,-7 (равно как и 107,93,107,93) допустим фаза 90 амплитуда 10. последовательность = 10,-10,10,-10 (равно как и 110,90,110,90) Достоверна при этом частота и фаза ? То ест достоверность в пределе частоты Fs/2 (как и нулевой) равна 0!!! (провал во времени)
Сообщение отредактировал GetSmart - Mar 9 2008, 15:52
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Mar 9 2008, 15:57
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(GetSmart @ Mar 9 2008, 18:50)  Согласен, но я немного не это хотел сказать. А вот что: допустим фаза 0 амплитуда 10. последовательность = 0,0,0,0 (равно как и 100,100,100,100) допустим фаза 30 амплитуда 10. последовательность = 5,-5,5,-5 (равно как и 105,95,105,95) допустим фаза 45 амплитуда 10. последовательность = 7,-7,7,-7 (равно как и 107,93,107,93) допустим фаза 90 амплитуда 10. последовательность = 10,-10,10,-10 (равно как и 110,90,110,90)
Достоверна при этом частота и фаза ?
То ест достоверность в пределе частоты Fs/2 (как и нулевой) равна 0!!! (провал во времени) Опять неправильно. 0,0,0,0 ну никак не может выродиться в 100,100,100,100. 100,100,100,100 - это можно при определённой фантазии представить, как 0,0,0,0 на Fs/2 + 100,100,100,100 в 0 (разница, согласитесь, есть). Все остальные фазы есть сумма частоты Fs/2 и частоты 0 с сответствующими амплитудами. Дополню. Фаза Fs/2 не восстанавливается. Об этом тут неоднократно говорили. Фаза в 0 восстанавливается полностью, если сигнал комплексный. При вещественном она всегда равна 0. У вещественного сигнала в нуле просто нет другой фазы
Сообщение отредактировал 729 - Mar 9 2008, 16:07
|
|
|
|
|
Mar 9 2008, 16:05
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Или так (Fs/2 везде с амплитудой 10):
0 Гц, ампл. 10 + Fs/2, 0 град ==> 10,10,10,10 => что вычислим? = 0Гц = 10, Fs/2 = 0 (хде Fs/2 ? - косяк!) 0 Гц, ампл. 10 + Fs/2, 90 град ==> 20,0,20,0 => что вычислим? = 0Гц = 10, Fs/2 = 10 (всё верно!) 0 Гц, ампл. 10 + Fs/2, 30 град ==> 15,5,15,5 => что вычислим? = 0Гц = 10, Fs/2 = 5 (упс! - косяк! амплитуда Fs/2 не верна)
Однако, "правильный" синк не сможет различить 0 и Fs/2 (да и на дискретной последовательности они проникают одна в другую) и то, что мы расчитаем как я написал - это то, что нам самим "как бы" удобно.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Mar 9 2008, 16:14
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(GetSmart @ Mar 9 2008, 19:05)  Или так (Fs/2 везде с амплитудой 10):
0 Гц, ампл. 10 + Fs/2, 0 град ==> 10,10,10,10 => что вычислим? = 0Гц = 10, Fs/2 = 0 (хде Fs/2 ? - косяк!) 0 Гц, ампл. 10 + Fs/2, 90 град ==> 20,0,20,0 => что вычислим? = 0Гц = 10, Fs/2 = 10 (всё верно!) 0 Гц, ампл. 10 + Fs/2, 30 град ==> 15,5,15,5 => что вычислим? = 0Гц = 10, Fs/2 = 5 (упс! - косяк! амплитуда Fs/2 не верна)
Однако, "правильный" синк не сможет различить 0 и Fs/2 (да и на дискретной последовательности они проникают одна в другую) и то, что мы расчитаем как я написал - это то, что нам самим "как бы" удобно. Еще немного и пойду и застрелюсь...  Правильный синк их разведет на два противоположных края частотного диапазона без всяких проблем. Как и ДПФ. Вы бы лучше попробовали все эти последовательности пропустить через ДПФ, в Матлабе, например. Там всего две строки надо написать для этого случая.
|
|
|
|
|
Mar 9 2008, 16:26
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Я тут вот что понял, амплитуда Fs/2, при невозможности её определить наследуется из предыдущего окна, но если её не видно в текущем окне, то это не зачит, что её нет! В то же время постоянная составляющая (0 герц) не факт, что принадлежит именно 0 Гц. Она равно может принадлежать и амплитуде Fs/2, которая по "независящим от нас" обстоятельствам в окне оказалась сдвинута на ровно на 0 градусов. И амплитуда 0Гц кстати, тоже наследуется. Т.к. в пределах окна их невозможно отделить. Они смешались хоть ты тресни! А ДПФ работает с цифровыми числами, то есть с ограниченной сеткой. И там всегда будут ошибки. Тем более ДПФ сделает так, как нам будет "удобно". Самое прикольное - это посмотреть как будет распределяться шум на околонулевых частотах в ДПФ. Увидите - в шок в падёте  Хотя надо ещё подумать про влияние амплитудной сетки в ДПФ. Я могу и ошибиться.
Сообщение отредактировал GetSmart - Mar 9 2008, 16:32
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Mar 9 2008, 16:34
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(GetSmart @ Mar 9 2008, 19:21)  Я тут вот что понял, амплитуда Fs/2, при невозможности её определить наследуется из предыдущего окна, но если её не видно в текущем окне, то это не зачит, что её нет! В то же время постоянная составляющая (0 герц) не факт, что принадлежит именно 0 Гц. Она равно может принадлежать и амплитуде Fs/2, которая по "независящим от нас" обстоятельствам в окне оказалась сдвинута на ровно на 0 градусов. Нет. При дискретизации частоты Fs/2 Вы уже потеряли информацию о фазе. Поэтому у Вас всегда на этой частоте есть только синус с фазой 0 (или косинус, не важно) с соответствующей амплитудой. При программном синтезе отсчетов частоты Fs/2 Вы всегда будете иметь только половину от Asin(x)+Bcos(x), то есть только Asin(x) либо тлько Bcos(x). Всё это хозяйство от отсчетов предыдущего или последующего окон не зависит. Цитата(GetSmart @ Mar 9 2008, 19:26)  А ДПФ работает с цифровыми числами, то есть с ограниченной сеткой. И там всегда будут ошибки. Тем более ДПФ сделает так, как нам будет "удобно". Самое прикольное - это посмотреть как будет распределяться шум на околонулевых частотах в ДПФ. Увидите - в шок в падёте  Ну это не есть правда. ДПФ при определённых усилиях может работать с очень большом числом разрядов, где шум квантования где-то на уровне минус 180-200дБ. А вижу спектрограммы реальных и синтезированных сигналов практически каждый день по нескольку сот раз. Каюсь, в выходные гораздо меньше. Пока шока ни разу не испытывал  Вру  Один раз испытал нечто подобное шоку. Но через два дня раздумий и рисования формул на бумажках всё встало на свои места - ДПФ не наврал.
Сообщение отредактировал 729 - Mar 9 2008, 16:35
|
|
|
|
|
Mar 9 2008, 16:52
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(729) Нет. При дискретизации частоты Fs/2 Вы уже потеряли информацию о фазе. Можете идти от обратного. Если Вы умеете программировать, то можете написать програмку, которая Нарисует Вам в любом окне частоту Fs/2-df так, что на экране будет казаться, что это частота 0-df. Частота Fs/2-df определённо была в сигнале, но и 0-df откуда-то взялась  Короче, их амплитуды просто сливаются в кучу и их уже не отделить. И даже не обязательно на экране компа. Вы ведь не доверяете глазам по части осциллограмм. Лучше на бумаге посчитайте и проследите тенденцию. В ДПФ (да и в любых конечных последовательностях) есть "дыра" через которую, дробные частоты будут пролазить в "мусорку" с частотой ниже минимально определимой через ДПФ, то есть в НЧ или 0-частоту. Это свалка несоответствия сигнала и дискретных частот, допустимых в ДПФ. Это наглядно можно проследить на листке бумаги, задав конечное число отсчётов и "неправильный" синус (некратный кол-ву отсчётов). Причём это наглядно выражено когда в сигнале только одна некратная частота. Когда же там две частоты, то ДПФ "умеет" распределять эту НЧ в соседний (а скорее всего в любой другой отсчёт) как бы делая его тоже дробным. Точнее, он выравнивает неровности так чтобы конечная комбинация вещественных чисел легла наиболее "удобно" по частотам. Всё, что останется от этой "ахинеи" ДПФ будет считать нулевой частотой.
Сообщение отредактировал GetSmart - Mar 9 2008, 17:01
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Mar 9 2008, 17:11
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(GetSmart @ Mar 9 2008, 19:39)  Можете идти от обратного. Если Вы умеете программировать, то можете написать програмку, которая Нарисует Вам в любом окне частоту Fs/2-df так, что на экране будет казаться, что это частота 0-df. Частота Fs/2 определённо была в сигнале, но и 0-df откуда-то взялась  Короче, их амплитуды просто сливаются в кучу и их уже не отделить. И даже не обязательно на экране компа. Вы ведь не доверяете глазам по части осциллограмм. Лучше на бумаге посчитайте и проследите тенденцию. Хорошо. Сейчас синтезирую Fs/2-dF и выложу осциллограммы и спектрограммы. Чтобы не было подвоха, задайте мне, пожалуйста, Fs, dF, число точек ДПФ (не менее 32 и степень двойки). Цитата(GetSmart @ Mar 9 2008, 19:52)  Забыл Вас сказать, что термин "курить" в технических форумах, по крайней мере в тех, которые мне известны, означает не "курить траву", быть пьяным или еще что-то в этом роде, а "изучать", "во что-то вникать", "в чем-то пытаться разобраться" и тому подобное. Например, "курите [ссылка]" означает - посмотрите материалы по ссылке. fontp применил слово "курить" именно в этом смысле. Как мне кажется
|
|
|
|
|
Mar 9 2008, 17:27
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(729) Хорошо. Сейчас синтезирую Fs/2-dF и выложу осциллограммы и спектрограммы. Если бы ДПФ показывал Вам то, что осталось от вырезания частоты было бы круто. Если он показывает НЧ, то есть 0 Гц - то следите за ней. Только вот НЧ нужно показывать обязательно внутри окна. Если БПФ 16К, то и 0-Гц должна быть за 16384 отсчёта. Делайте окно БПФ 16К например, Fs=100 КГц и частоту 49.9915 КГц. Узнайте 0Гц. Смещайте фазу 49 КГц на 30, 60, ...градусов и смотрите изменение 0Гц. Вместо 49 КГц можно было бы взять любую некратную частоту (в идеале с шагом в 2 раза больше окна ДПФ чтобы максимум амплитуды проникал в НЧ) Цитата(729) Например, "курите [ссылка]" означает - посмотрите материалы по ссылке. Хде ссылка? Если в конечном окне невозможно доказать, что все (дробные) частоты сигнала лягут так, что НЧ (0-Гц) будет финитна к следующему окну, то это "глюк" ТК
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Mar 9 2008, 17:29
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(GetSmart @ Mar 9 2008, 20:22)  Пожалуйста: 1. http://hjk73q.narod.ru/Fs_2.JPG - то, что Вы заказали. Нижняя панель - спектрограмма, по оси x - отсчеты. 2. http://hjk73q.narod.ru/Fs_2_0.JPG - то же самое, но область нулевых частот детализирована, на экране первые 128 отсчетов спектра мощности. Цитата(GetSmart @ Mar 9 2008, 20:27)  Мусора в районе нулевой частоты не наблюдается. Забыл добавить - в ДПФ применено окно Кайзера с уровнем боковых лепестков минус 200дБ. Вот без окна (прямоугольное окно) - http://hjk73q.narod.ru/Fs_2_0_re.JPG
Сообщение отредактировал 729 - Mar 9 2008, 17:36
|
|
|
|
|
Mar 9 2008, 18:43
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Ну вот сами подумайте. Есть у нас частота некратная шагу ДПФ. В идеале частота ровно посередине шага. Любая. ДПФ округлит её до ближайшей. Что в остатке? Посчитайте разность между оригиналом и ОДПФ. По логике следует разность между двумя синусами = синусу с частотой меньшей шага. Оговариваюсь сразу - действие происходит только на одной вещественной оси. Что такое НЧ с частотой меньшей шага? Это разность одного синуса где-то между его фазами. Допустим между 0 и 180 градусов (в оригинале была частота ровно N.5). Ну и что? sin(0*pi) - sin(1*pi) = 0. Круто! А теперь сдвинем на 90 градусов. А вдруг окно началось когда в сигнале был сдвиг именно на 90 град. sin(0.5*pi) - sin(1.5*pi) = целой амплитуде! Ух ты! Дык какая на самом деле она была? При увеличении окна дискретных отсчётов увеличивается кол-во "удобных" комбинаций для разложения абсолютно любого сигнала на гармоники. Но НЧ в пределе не уменьшается! Хоть до миллиарда увеличте окно, какая-нить из возможных комбинаций частот полюбому "нагадит" в НЧ. Если она гадит в НЧ, значит первый отсчёт во втором окне никогда не совпадёт с первым отсчётом первого окна. Финитностью не пахнет  Цитата(fontp) С самой частотой Fs/2 математики тоже разобрались. В строгой формулировке теоремы Котельникова сказано не равно, а равно с вероятностью 1 С вероятностью 0 не равно. Почему свероятностью 0? Да потому, что при случайной фазе синуса получить 000000 можно только в одной точке фазы 0 на отрезке (0, pi). А вероятность попасть в эту точку при случайной фазе в отрезке (0,pi) равна в точности 0. Гы  на оси действительных чисел - 2! В двух фазах  0 и 180 градусов. Цитата(fontp) Существует теорема ТФКП для целых функций, согласно которой функцию можно полностью восстановить по её нулям. На дискретной последовательности нулей? А эти нули представляют нулевое кол-во информации? К сожелению лишней нетуу. А так, я бы с удовольствием
Сообщение отредактировал GetSmart - Mar 9 2008, 19:08
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|