Автор Тема: RX EQ от UA3REO  (Прочитано 11248 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн ra0ahc

  • Hero Member
  • *****
  • Сообщений: 4872
  • Сергей, RD6AH
RX EQ от UA3REO
« : Ноябрь 01, 2020, 05:23:25 pm »
Запустил эквалайзер по примеру нашего коллеги. (сильно ничего не искал)
Используется та же CMSIS DSP что и фир фильтрах


 
Да да, я знаю, у меня ничего не получится )))

Оффлайн ra0ahc

  • Hero Member
  • *****
  • Сообщений: 4872
  • Сергей, RD6AH
Re: RX EQ от UA3REO
« Ответ #1 : Ноябрь 01, 2020, 05:28:18 pm »
arm_biquad_cascade_df2T_f32
основа IIR фильтра низкого порядка.
Коэффициенты рассчитываются просто.

Вот код программы:

h

#define EQ_STAGES 1 // order of the biquad of the equalizer filter
#define BIQUAD_COEFF_IN_STAGE 5 // coefficients in manual Notch filter order


main.c
//EQ RX
float32_t EQ_RX_LOW_FILTER_State[2 * EQ_STAGES] = {0};
float32_t EQ_RX_MID_FILTER_State[2 * EQ_STAGES] = {0};
float32_t EQ_RX_HIG_FILTER_State[2 * EQ_STAGES] = {0};
float32_t EQ_RX_LOW_FILTER_Coeffs[BIQUAD_COEFF_IN_STAGE * EQ_STAGES] = {0};
float32_t EQ_RX_MID_FILTER_Coeffs[BIQUAD_COEFF_IN_STAGE * EQ_STAGES] = {0};
float32_t EQ_RX_HIG_FILTER_Coeffs[BIQUAD_COEFF_IN_STAGE * EQ_STAGES] = {0};

arm_biquad_cascade_df2T_instance_f32 EQ_RX_LOW_FILTER = {EQ_STAGES, EQ_RX_LOW_FILTER_State, EQ_RX_LOW_FILTER_Coeffs};
arm_biquad_cascade_df2T_instance_f32 EQ_RX_MID_FILTER = {EQ_STAGES, EQ_RX_MID_FILTER_State, EQ_RX_MID_FILTER_Coeffs};
arm_biquad_cascade_df2T_instance_f32 EQ_RX_HIG_FILTER = {EQ_STAGES, EQ_RX_HIG_FILTER_State, EQ_RX_HIG_FILTER_Coeffs};


 //ini RX EQ
    rxEqIni();



Функции
// RX Equalizer
void doRX_EQ(float32_t *buffer,   uint16_t size)
{
        arm_biquad_cascade_df2T_f32(&EQ_RX_LOW_FILTER, buffer, buffer, size);
        arm_biquad_cascade_df2T_f32(&EQ_RX_MID_FILTER, buffer, buffer, size);
        arm_biquad_cascade_df2T_f32(&EQ_RX_HIG_FILTER, buffer, buffer, size);
}


// automatic calculation of the Biquad filter
void calcBiquad(uint32_t Fc, uint32_t Fs, float32_t Q, float32_t peakGain, float32_t *outCoeffs) {
    float32_t a0, a1, a2, b1, b2, norm;

    float32_t V = powf(10.0f, fabsf(peakGain) / 20.0f);
    float32_t K = tanf(PI * Fc / Fs);
    if (peakGain >= 0.0f) {
        norm = 1.0f / (1.0f + 1.0f / Q * K + K * K);
        a0 = (1.0f + V / Q * K + K * K) * norm;
        a1 = 2.0f * (K * K - 1.0f) * norm;
        a2 = (1.0f - V / Q * K + K * K) * norm;
        b1 = a1;
        b2 = (1.0f - 1.0f / Q * K + K * K) * norm;
    } else {
        norm = 1.0f / (1.0f + V / Q * K + K * K);
        a0 = (1.0f + 1.0f / Q * K + K * K) * norm;
        a1 = 2.0f * (K * K - 1.0f) * norm;
        a2 = (1.0f - 1.0f / Q * K + K * K) * norm;
        b1 = a1;
        b2 = (1.0f - V / Q * K + K * K) * norm;
    }


    //save coefficients
    outCoeffs[0] = a0;
    outCoeffs[1] = a1;
    outCoeffs[2] = a2;
    outCoeffs[3] = -b1;
    outCoeffs[4] = -b2;
}

// RX Equalizer
void rxEqIni(void)
{
    uint16_t TRX_SAMPLERATE=24000;
    calcBiquad(400, TRX_SAMPLERATE, 0.5f, 0.0f, EQ_RX_LOW_FILTER_Coeffs);
    calcBiquad(1800, TRX_SAMPLERATE, 1.0f, 7.0f, EQ_RX_MID_FILTER_Coeffs);
    calcBiquad(3200, TRX_SAMPLERATE, 1.5f, -3.0f, EQ_RX_HIG_FILTER_Coeffs);
}

it

        //eq  FRAME_SIZE=1024, pOutLms-массив оцифровки
       doRX_EQ((float32_t *) pOutLms, FRAME_SIZE);

Да да, я знаю, у меня ничего не получится )))

Оффлайн ra0ahc

  • Hero Member
  • *****
  • Сообщений: 4872
  • Сергей, RD6AH
Re: RX EQ от UA3REO
« Ответ #2 : Ноябрь 01, 2020, 05:50:34 pm »
Нравится пока так:

    calcBiquad(400, TRX_SAMPLERATE, 0.5f, 0.0f, EQ_RX_LOW_FILTER_Coeffs);
    calcBiquad(1900, TRX_SAMPLERATE, 1.0f, 7.0f, EQ_RX_MID_FILTER_Coeffs);
    calcBiquad(3300, TRX_SAMPLERATE, 1.5f, -5.0f, EQ_RX_HIG_FILTER_Coeffs);

(частота, 24000Гц, Q, db, коэффиценты)
Да да, я знаю, у меня ничего не получится )))

Оффлайн Dim

  • Hero Member
  • *****
  • Сообщений: 1221
Re: RX EQ от UA3REO
« Ответ #3 : Декабрь 08, 2024, 09:47:38 am »
Что-то я не нашёл тему по sdr WOLF от UA3REO.
Есть вопрос. По WOLF-LITE. Как он,по сравнению с WOLF-mini (или это одно и тоже)? И по сравнению с ODYSSEY-2,HERMES (HERMES-LITE),VIZAIR и другими подобными? Хотелось бы расставить их по рангу)) Интересует также возможность удалённой работы,это даже в приоритете. Не спрашиваю про большого ВОЛКа, и про китайского.Нужен маленький SDR, с мощностью 10-20вт.
Дмитрий UA9AU

Оффлайн R0-27

  • Hero Member
  • *****
  • Сообщений: 803
Re: RX EQ от UA3REO
« Ответ #4 : Декабрь 08, 2024, 05:06:12 pm »
Несколько лет назад, пытался узнать про волка. Везде только прекрасные отзывы.
Пытался задать свои "умные" вопросы, почему то на них ни кто не мог адекватно ответить. В итоге, там откапал частичку правды, в другом месте подсказали. dontt44
В итоге решил не связываться с волками, аистами и прочими. 1yep
 

Оффлайн Сергей

  • Administrator
  • *****
  • Сообщений: 44
Re: RX EQ от UA3REO
« Ответ #5 : Декабрь 09, 2024, 10:46:06 am »
Что-то я не нашёл тему по sdr WOLF от UA3REO.
Есть вопрос. По WOLF-LITE. Как он,по сравнению с WOLF-mini (или это одно и тоже)? И по сравнению с ODYSSEY-2,HERMES (HERMES-LITE),VIZAIR и другими подобными? Хотелось бы расставить их по рангу)) Интересует также возможность удалённой работы,это даже в приоритете. Не спрашиваю про большого ВОЛКа, и про китайского.Нужен маленький SDR, с мощностью 10-20вт.
Много чего могу рассказать. Вульф Лайт собрал и начал настраивать - шум на плате 10 дБ к сигналу . Этот шум слышно всегда - раздражает. После этого перекопал всю плату немного улучшил - так появилась версия мини )))

Я отказался сразу от duc/ddc аппаратов , так как там внутри плис сделан умножитель с 122 МГц до 170 МГц и как следствие миллион пораженных частот.

Оффлайн Dim

  • Hero Member
  • *****
  • Сообщений: 1221
Re: RX EQ от UA3REO
« Ответ #6 : Декабрь 10, 2024, 05:06:16 am »
Т.е. мини,коих много в продаже,лучше лайта.Ясно.
А есть возможность работы в удалённом режиме? Нужно поставить trx в доме,где есть проводной и-нет, ПК, УМ с автотюнером и НЧ-антенны. Управлять из моего шэка с ВЧ-антеннами,оптическим и-нетом и ПК. Какая программа понадобится? Если удалёнки в Волке нет,то что посоветуете? Есть в продаже ОДИССЕЙ-2,АИСТ-1,ГЕРМЕСЫ-лайт.... САНСДР не рассматриваю из-за многих их проблем.
Дмитрий UA9AU

Оффлайн rtty

  • Hero Member
  • *****
  • Сообщений: 2368
Re: RX EQ от UA3REO
« Ответ #7 : Декабрь 10, 2024, 02:48:44 pm »
Т.е. мини,коих много в продаже,лучше лайта.Ясно.

Конечно лучше, 12 против 16бит, выше частота оцифровки в 2 раза, есть встроенный АТУ.

Удаленный режим делается с любым трансивером (не важно сдр или обычный) с помощью программ на РС или аппаратных "коробочек". Еще желателен белый-фиксированный IP адрес, чтобы без заморочек лишних.
Напрямую удаленное бывает (есть или возможно технически в перспективе) только в трансиверах, где есть сразу аппаратный ethernet порт.

Если вы контестовик или дх-ник то из доступных сдр вида "компьютерных приставок" только сунсдр2 и надо рассматривать, т.к. остальные гермес-подобные приставки для дх/спорта по софту почти фуфло, т.е. сделано убого, не совсем удобно и т.п.  Изделия флекс6000 - дороговаты, а начальные/старые модели тоже нет смысла брать, там обновление софта платное и в любой момент ее могут прекратить, посчитав, что модели устарели окончательно.
А критикуют сунсдр в основном только те, кто хотел очень много персональных хотелок, но в какое-то время фирма перестала уделять этому время.

Оффлайн Dim

  • Hero Member
  • *****
  • Сообщений: 1221
Re: RX EQ от UA3REO
« Ответ #8 : Декабрь 10, 2024, 03:36:08 pm »
А у SUNSDR2 и последующих есть этот самый аппаратный порт? Или на недопиленность его и жалуются?
Дмитрий UA9AU

Оффлайн Сергей

  • Administrator
  • *****
  • Сообщений: 44
Re: RX EQ от UA3REO
« Ответ #9 : Декабрь 10, 2024, 04:20:07 pm »
Мы с Игорем как раз  придумали и сделали трансивер с изернет управлением 123123
Сейчас делаем версию чтобы и через инет и с само аппарата работало. Все сдр. Параметры на 2 дБ хуже чем монстр.

Оффлайн Dim

  • Hero Member
  • *****
  • Сообщений: 1221
Re: RX EQ от UA3REO
« Ответ #10 : Декабрь 10, 2024, 04:42:54 pm »
И конкурс хотелок даже не объявляли? cr123
По-моему мнению это должны быть разные аппараты.Один,как сансдр - без "морды",для удешевления,и работы "под столом".Другой- самодостаточный,со своим компом внутри.Третий-под ПК,но с "мордой!.
Кстати,у мини Волка есть удалёнка?
« Последнее редактирование: Декабрь 10, 2024, 04:48:57 pm от Dim »
Дмитрий UA9AU

Оффлайн Сергей

  • Administrator
  • *****
  • Сообщений: 44
Re: RX EQ от UA3REO
« Ответ #11 : Декабрь 10, 2024, 06:33:37 pm »
Вот так оно будет
Проект коммерческий … надо хоть что-то с этого получить.

Оффлайн Сергей

  • Administrator
  • *****
  • Сообщений: 44
Re: RX EQ от UA3REO
« Ответ #12 : Декабрь 10, 2024, 06:34:03 pm »
У волка нет

Оффлайн Сергей

  • Administrator
  • *****
  • Сообщений: 44
Re: RX EQ от UA3REO
« Ответ #13 : Декабрь 10, 2024, 07:32:57 pm »
Всем кто хочет проверь звук через инет 123123
Сейчас подключен прототип на прием. Город Сочи. Высота 450 м над уровнем моря, дельта 80м, на обрыве 200м
без предварика, СДР с фазовой коррекцией подавления зекального канала, панорама 96 кГц

Давить кнопку старт - и все! Можно частоту менять
 
https://astra443.diamondmoto.keenetic.name

Пользователь: guest
Пароль: 2weberGuest
« Последнее редактирование: Декабрь 10, 2024, 07:34:42 pm от Сергей »

Оффлайн Dim

  • Hero Member
  • *****
  • Сообщений: 1221
Re: RX EQ от UA3REO
« Ответ #14 : Декабрь 11, 2024, 06:47:15 am »
Что-то не получается.Сначала просит доступ к микрофону,которого у меня нет,а потом выдаёт ошибку инициализации.
У аппарата хотя-бы ватт 5 будет? ФНЧ такому не нужны.
Дмитрий UA9AU