Про оптимальность.
По-моему оптимальные фильтры за уши притянуты: вначале форма входного сигнала неизвестна же (иначе весь приёмник не нужен -- сразу биты выдать можно).Неизвестно, ноль или 1, неизвестна фаза переключений между нулями и единицами. Но то, что это будет 0 или 1, а так же длительность этих состояний известны. Это и есть критерии оптимальности. В этом смысле фильтр оптимален - он даст на выходе не поток информации, а всего лишь логические уровни и моменты их перемены. В поток байт они превратятся лишь после дополнительной обработки - выделения фазы переключений.
Кабы его там гарантированно не было бы, то и фильтр вовсе не нужен (и интегратор не нужен). И если полоса ещё широченная была бы, как ты пишешь дальше, битики бы сами появлялись какие нужно, прямоугольные.Если бы не интеграторы в схеме после первых перемножителей, битики и были бы прямоугольными. Они практически такие, как I или Q на своём максимуме. Была бы у меня привязка к фазе принимаемого сигнала, то сигнал сразу можно было бы снять с I или с Q целиком, без постобработки. Фильтр структуры 2.17 очень хорош тем, что он, с одной стороны, оптимален для видеоимпульса, с другой - идеально привязывается к дифференциалу фазы. Так что его можно считать оптимальным для прямоугольного сигнала фазового ключа.
Но чтоб на битовом интервале не было колебаний с амплитудой уровня полезного сигнала -- фильтр и нужен. Для отбрасывания полосы частот не несущей полезный сигнал.Но это не значит, что я должен делать П-образную АЧХ фильтра. У меня исходный сигнал имеет совсем не такой спектр и оптимальный фильтр для него не прямоугольник. Я не могу контролировать спектр помехи. В общем случае они могут быть везде, типа розового шума. С узкополосным прямоугольным фильтром я вырежу часть шума. Но и часть сигнала, спектр которого при передаче не ограничивался в моём случае, по крайней мере до x5..x7 несущей. Так что мне может быть выгоднее применить оптимальный фильтр (с далёкими лепестками) нежели резать и шум, и сигнал. П-образная АЧХ выгодна там, где используется частотное разделение каналов и все передатчики и все приёмники стараются фильтровать свой частотный интервал спектра и не лезть на соседние. Пока не переубедили в нужности иной фильтрации для моего частного случая.
У тебя ж для этого весь BPSK и сделан: чтоб упаковать сигнал на одну узкую несущую и на приёме фильтром выделить только её, откинув всё лишнее. А если полоса, как пишешь, не ограничена -- зачем вообще BPSK? Значит есть шумы и PPM или OOK подходят плохо. У BPSK сигнал-шум на входе допустим меньший. Но если полоса широченная и шум случайный, нет явных узкополосных помех, то имеет смысл идти в сторону расширения спектра... хотя там приёмник сложный.Нет, не для этого. Для DBPSK я, с вашей помощью, сумел сделать когерентный фильтр. Для FSK не смог. Только и всего. Если бы у меня сразу получился удовлетворительный результат с FSK, другую модуляцию не стал бы пробовать. Для когерентной FSK пришлось бы держать фазу обоих несущих, поленился заморачиваться. Получилось условно рабочее решение, но неудобное из-за чувствительности к шумам. Я не могу сильно сужать полосу фильтров, так как до сих пор не хочу делать захват частоты и подстройку опорного генератора. И на FSK полоса получалась шире из-за двух частот против одной у FSK. Да, для FSK у меня был полосовой фильтр. DBPSK позволила мне не городить вычислительно сложный фильтр с крутыми скатами АЧХ и с необходимостью подстройки частоты, а применить оптимальный когерентный фильтр, по сложности сравнимый с парой каскадов ФНЧ.
Мне ещё с децимацией (прореживанием) не совсем понятно. Опять же это работает хорошо когда на входе есть волшебный фильтр. Но обычно ж его нет и входной спектр достаточно широк, чтоб после децимации всё плохо отфильтрованное вылезло на более низких частотах.Исхожу из того, что возможные (но не обязательные) внеполосные помехи, которые могут стать зеркальными каналами ("alias") после прореживания, у меня не существенно превышают спектральную плотность сигнала. Поэтому определил достаточным ослабление выше 1/2 частоты дискретизации в 40дБ. Прореживание делаю тремя каскадами. Поэтому фильтры получаются не слишком крутыми, а ослабление зеркальных каналов - достаточным.
Поэтому варианты типа 2 или 4 отсчёта на период мне непонятны. Да, в теории всё здорово, и перемножать очень удобно (+1,0,-1,0...), но такой фильтр сам по себе настролько сложен (немеряно дБ на октаву), что проще ограничиться более высокой частотой дискретизации и более простым фильтром на входе.Вы немного не поняли. Я фильтрую при помощи ФНЧ действительный сигнал не до частоты Котельникова, а до в два раза большей частоты - частота несущей x4. Поэтому условие теоремы Котельникова удовлетворяется для большей части спектра полезного сигнала даже с учётом отклонения частоты опорного генератора. Скажем так, основная мощность сигнала сосредотачивается в полосе до 0.32 от частоты выборки действительных отсчётов. Согласитесь, реализуемо. И альясы подавлены, и скорость потока сырых данных уже не высока. Более высокая частота дискретизации попросту не выгодна. Я на первом прореживании получаю выигрыш по скорости раза в полтора, так как делаю его быстрым антиальяс-фильтром низкого порядка - крутизна мизерная требуется, так как от частоты выборки до частоты сигнала слишком далеко, полоса пропускания 0.04 от выборки. Дальше отсчёты идут в два раза медленнее после немногим более сложного фильтра. И после последнего фильтра идут в 8 раз медленнее. Я сторонник того, чтобы снизить частоту дискретизации до минимально-необходимой, а потом производить основную, оптимальную фильтрацию. Когда спектр сигнала и шума подрезан сверху, разница между оптимальным фильтром с его боковыми лепестками АЧХ и полосовым фильтром с прямоугольной АЧХ уменьшается. Поэтому я не вижу смысла делать иной фильтр, кроме интегрирующего, который оптимален для прямоугольников двоичного модулятора.
Зеркальные каналы?Имел ввиду "aliases", другого перевода не знаю и, по сути, верно, в том числе и для обсуждения фильтрации перед прореживанием. Само решение хочу получить копеечное, компактное, простое и дубовое. Фильтр из умной книжки здорово помог, ещё раз спасибо!