mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-30 20:40:20 -04:00 
			
		
		
		
	RDS demod: bugfix and errors debug prompt
This commit is contained in:
		
							parent
							
								
									ea0640c844
								
							
						
					
					
						commit
						dbd1db1f28
					
				| @ -15,6 +15,7 @@ | |||||||
| // along with this program. If not, see <http://www.gnu.org/licenses/>.          //
 | // along with this program. If not, see <http://www.gnu.org/licenses/>.          //
 | ||||||
| ///////////////////////////////////////////////////////////////////////////////////
 | ///////////////////////////////////////////////////////////////////////////////////
 | ||||||
| 
 | 
 | ||||||
|  | #include <QDebug> | ||||||
| #include <math.h> | #include <math.h> | ||||||
| #include <stdio.h> | #include <stdio.h> | ||||||
| #include <stdlib.h> | #include <stdlib.h> | ||||||
| @ -78,6 +79,8 @@ void RDSDemod::process(Real rdsSample, Real pilotPhaseSample) | |||||||
| 
 | 
 | ||||||
| 		m_rdsClockLO_1 = m_rdsClockLO; | 		m_rdsClockLO_1 = m_rdsClockLO; | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	m_numSamples++; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Real RDSDemod::filter_lp_2400_iq(Real input, int iqIndex) | Real RDSDemod::filter_lp_2400_iq(Real input, int iqIndex) | ||||||
| @ -102,23 +105,24 @@ int RDSDemod::sign(Real a) | |||||||
| 
 | 
 | ||||||
| void RDSDemod::biphase(Real acc) | void RDSDemod::biphase(Real acc) | ||||||
| { | { | ||||||
| 	static int reading_frame = 0; |  | ||||||
| 
 |  | ||||||
| 	if (sign(acc) != sign(m_acc_1)) // two successive of different sign: error detected
 | 	if (sign(acc) != sign(m_acc_1)) // two successive of different sign: error detected
 | ||||||
| 	{ | 	{ | ||||||
| 		m_totErrors[m_counter % 2]++; | 		m_totErrors[m_counter % 2]++; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if (m_counter % 2 == reading_frame) // two successive of the same sing: OK
 | 	if (m_counter % 2 == m_readingFrame) // two successive of the same sign: OK
 | ||||||
| 	{ | 	{ | ||||||
| 		print_delta(sign(acc + m_acc_1)); | 		print_delta(sign(acc + m_acc_1)); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if (m_counter == 0) | 	if (m_counter == 0) | ||||||
| 	{ | 	{ | ||||||
| 		if (m_totErrors[1 - reading_frame] < m_totErrors[reading_frame]) | 		if (m_totErrors[1 - m_readingFrame] < m_totErrors[m_readingFrame]) | ||||||
| 		{ | 		{ | ||||||
| 			reading_frame = 1 - reading_frame; | 			m_readingFrame = 1 - m_readingFrame; | ||||||
|  | 
 | ||||||
|  | 			double qua = (1.0 * abs(m_totErrors[0] - m_totErrors[1]) /	(m_totErrors[0] + m_totErrors[1])) * 100; | ||||||
|  | 			qDebug("RDSDemod::biphase: frame: %d  errs: %3d %3d  qual: %3.0f%%\n", m_readingFrame, m_totErrors[0], m_totErrors[1], qua); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		m_totErrors[0] = 0; | 		m_totErrors[0] = 0; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user