From: drowe67 Date: Sun, 24 Mar 2013 05:47:15 +0000 (+0000) Subject: prototype 1600 wide mode X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=a617d98d06f12a9bce4d36cb2d5c59a807eba1b5;p=freetel-svn-tracking.git prototype 1600 wide mode git-svn-id: https://svn.code.sf.net/p/freetel/code@1224 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/fdmdv2/src/fdmdv2_defines.h b/fdmdv2/src/fdmdv2_defines.h index ded419b3..93380e96 100644 --- a/fdmdv2/src/fdmdv2_defines.h +++ b/fdmdv2/src/fdmdv2_defines.h @@ -97,7 +97,10 @@ enum #define MODE_1400_V0_91 0 // Legacy 1400 from Dec 2012 V0.91 release with incorrect QPSK mapping #define MODE_1400 1 // 1400 bit/s codec, no FEC -#define MODE_1600 2 // 1600 bit/s codec, no FEC +#define MODE_1600 2 // 1300 bit/s codec, + 300 bit/s FEC #define MODE_2000 3 // 1400 bit/s codec, 600 bit/s FEC on most sensitive bits, 2000 bit/s total +#define MODE_1600_WIDE 4 // As per 2 but wide carrier spacing + +#define FSEP_WIDE 125 #endif //__FDMDV2_DEFINES__ diff --git a/fdmdv2/src/fdmdv2_main.cpp b/fdmdv2/src/fdmdv2_main.cpp index 97cec47f..d71b894c 100644 --- a/fdmdv2/src/fdmdv2_main.cpp +++ b/fdmdv2/src/fdmdv2_main.cpp @@ -1597,19 +1597,22 @@ void MainFrame::OnTogBtnOnOff(wxCommandEvent& event) codec2_mode = CODEC2_MODE_1400; } -#ifdef DISABLED_FEATURE - if (m_rb1400->GetValue()) { - g_mode = MODE_1400; - g_Nc = 14; - codec2_mode = CODEC2_MODE_1400; - } -#endif if (m_rb1600->GetValue()) { g_mode = MODE_1600; g_Nc = 16; codec2_mode = CODEC2_MODE_1300; } + if (m_rb1600Wide->GetValue()) { + g_mode = MODE_1600_WIDE; + g_Nc = 16; + codec2_mode = CODEC2_MODE_1300; + } #ifdef DISABLED_FEATURE + if (m_rb1400->GetValue()) { + g_mode = MODE_1400; + g_Nc = 14; + codec2_mode = CODEC2_MODE_1400; + } if (m_rb2000->GetValue()) { g_mode = MODE_2000; g_Nc = 20; @@ -1631,6 +1634,8 @@ void MainFrame::OnTogBtnOnOff(wxCommandEvent& event) if (g_mode == MODE_1400_V0_91) fdmdv_use_old_qpsk_mapping(g_pFDMDV); + if (g_mode == MODE_1600_WIDE) + fdmdv_set_fsep(g_pFDMDV, FSEP_WIDE); // adjust scatter diagram for Number of FDM carriers @@ -2677,7 +2682,7 @@ void per_frame_rx_processing( } } - if (g_mode == MODE_1600) { + if ((g_mode == MODE_1600) || (g_mode == MODE_1600_WIDE)) { int recd_codeword, codeword1, j; recd_codeword = 0; @@ -2855,7 +2860,7 @@ void per_frame_tx_processing( assert(i <= 2*bits_per_fdmdv_frame); } - if (g_mode == MODE_1600) { + if ((g_mode == MODE_1600) || (g_mode == MODE_1600_WIDE)) { int data, codeword1; /* Protect first 12 out of first 16 excitation bits with (23,12) Golay Code: diff --git a/fdmdv2/src/topFrame.cpp b/fdmdv2/src/topFrame.cpp index 0875cedc..3d9e20fa 100644 --- a/fdmdv2/src/topFrame.cpp +++ b/fdmdv2/src/topFrame.cpp @@ -312,6 +312,8 @@ TopFrame::TopFrame(wxWindow* parent, wxWindowID id, const wxString& title, const #endif m_rb1600 = new wxRadioButton( this, wxID_ANY, wxT("1600"), wxDefaultPosition, wxDefaultSize, 0); sbSizer_mode->Add(m_rb1600, 0, wxALIGN_LEFT|wxALL, 1); + m_rb1600Wide = new wxRadioButton( this, wxID_ANY, wxT("1600 Wide"), wxDefaultPosition, wxDefaultSize, 0); + sbSizer_mode->Add(m_rb1600Wide, 0, wxALIGN_LEFT|wxALL, 1); #ifdef DISABLED_FEATURE m_rb2000 = new wxRadioButton( this, wxID_ANY, wxT("2000"), wxDefaultPosition, wxDefaultSize, 0); sbSizer_mode->Add(m_rb2000, 0, wxALIGN_LEFT|wxALL, 1); diff --git a/fdmdv2/src/topFrame.h b/fdmdv2/src/topFrame.h index e5979a13..2151a0e5 100644 --- a/fdmdv2/src/topFrame.h +++ b/fdmdv2/src/topFrame.h @@ -106,6 +106,7 @@ class TopFrame : public wxFrame wxRadioButton *m_rb1400; wxRadioButton *m_rb1600; wxRadioButton *m_rb2000; + wxRadioButton *m_rb1600Wide; // Virtual event handlers, overide them in your derived class virtual void topFrame_OnClose( wxCloseEvent& event ) { event.Skip(); } diff --git a/fdmdv2/src/version.h b/fdmdv2/src/version.h index 02acabba..d5f43d54 100644 --- a/fdmdv2/src/version.h +++ b/fdmdv2/src/version.h @@ -1,6 +1,6 @@ #ifndef FREEDV_VER_DOT_H #define FREEDV_VER_DOT_H 1 -#define FREEDV_VERSION "0.96 Beta" +#define FREEDV_VERSION "0.961 Beta" #endif //FREEDV_VER_DOT_H