Merge pull request #145 from strijar/audio-cw

Audio FIR filter for CW
This commit is contained in:
Erwin Ried 2020-08-20 20:57:01 +02:00 committed by GitHub
commit af8382eeb0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 1 deletions

View File

@ -58,6 +58,7 @@ private:
{ "DSB ", 0 },
{ "USB ", 0 },
{ "LSB ", 0 },
{ "CW ", 0 },
}
};
};

View File

@ -38,10 +38,11 @@ using namespace portapack;
namespace {
static constexpr std::array<baseband::AMConfig, 3> am_configs { {
static constexpr std::array<baseband::AMConfig, 4> am_configs { {
{ taps_6k0_dsb_channel, AMConfigureMessage::Modulation::DSB },
{ taps_2k8_usb_channel, AMConfigureMessage::Modulation::SSB },
{ taps_2k8_lsb_channel, AMConfigureMessage::Modulation::SSB },
{ taps_0k7_usb_channel, AMConfigureMessage::Modulation::SSB },
} };
static constexpr std::array<baseband::NBFMConfig, 3> nbfm_configs { {

View File

@ -313,6 +313,31 @@ constexpr fir_taps_complex<64> taps_2k8_lsb_channel {
} },
};
// USB AM 700Hz filter: fs=12000, start=600, end=800, width=200, stop=40db, decim=1, fout=12000
constexpr fir_taps_complex<64> taps_0k7_usb_channel {
.pass_frequency_normalized = 3000.0f / 12000.0f,
.stop_frequency_normalized = 3300.0f / 12000.0f,
.taps = { {
{ 531, 0 }, { 192, 73 }, { 181, 163 }, { 129, 254 },
{ 34, 328 }, { -97, 364 }, { -251, 345 }, { -403, 261 },
{ -524, 111 }, { -585, -92 }, { -564, -326 }, { -448, -554 },
{ -239, -737 }, { 43, -836 }, { 366, -822 }, { 681, -681 },
{ 936, -417 }, { 1085, -56 }, { 1090, 354 }, { 935, 757 },
{ 629, 1090 }, { 205, 1296 }, { -283, 1331 }, { -766, 1180 },
{ -1172, 851 }, { -1435, 384 }, { -1510, -158 }, { -1377, -702 },
{ -1049, -1165 }, { -568, -1480 }, { 0, -1596 }, { 574, -1496 },
{ 1072, -1191 }, { 1422, -724 }, { 1576, -165 }, { 1515, 406 },
{ 1251, 908 }, { 827, 1273 }, { 309, 1453 }, { -226, 1431 },
{ -703, 1218 }, { -1058, 856 }, { -1248, 405 }, { -1257, -65 },
{ -1100, -489 }, { -810, -810 }, { -441, -992 }, { -53, -1024 },
{ 297, -916 }, { 566, -699 }, { 725, -418 }, { 765, -121 },
{ 697, 148 }, { 546, 355 }, { 348, 479 }, { 138, 517 },
{ -50, 477 }, { -194, 381 }, { -280, 252 }, { -308, 118 },
{ -285, 0 }, { -228, -87 }, { -153, -138 }, { -241, -473 },
} },
};
// WFM 200KF8E emission type //////////////////////////////////////////////
// IFIR image-reject filter: fs=3072000, pass=100000, stop=484000, decim=4, fout=768000