⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 systemevaldlg.cpp

📁 Dream.exe soft source (Visual C++)
💻 CPP
📖 第 1 页 / 共 4 页
字号:
		"the two vertical dashed black lines in the Impulse Response (IR) "
		"plot.");

	QWhatsThis::add(TextWiener, strDopplerDelay);
	QWhatsThis::add(ValueWiener, strDopplerDelay);

	/* I / O Interface LED */
	const QString strLEDIOInterface =
		tr("<b>I / O Interface LED:</b> This LED shows the "
		"current status of the sound card interface. The yellow light shows "
		"that the audio output was corrected. Since the sample rate of the "
		"transmitter and local computer are different, from time to time the "
		"audio buffers will overflow or under run and a correction is "
		"necessary. When a correction occurs, a \"click\" sound can be heard. "
		"The red light shows that a buffer was lost in the sound card input "
		"stream. This can happen if a thread with a higher priority is at "
		"100% and the Dream software cannot read the provided blocks fast "
		"enough. In this case, the Dream software will instantly loose the "
		"synchronization and has to re-synchronize. Another reason for red "
		"light is that the processor is too slow for running the Dream "
		"software.");

	QWhatsThis::add(TextLabelLEDIOInterface, strLEDIOInterface);
	QWhatsThis::add(LEDIOInterface, strLEDIOInterface);

	/* Time Sync Acq LED */
	const QString strLEDTimeSyncAcq =
		tr("<b>Time Sync Acq LED:</b> This LED shows the "
		"state of the timing acquisition (search for the beginning of an OFDM "
		"symbol). If the acquisition is done, this LED will stay green.");

	QWhatsThis::add(TextLabelLEDTimeSyncAcq, strLEDTimeSyncAcq);
	QWhatsThis::add(LEDTimeSync, strLEDTimeSyncAcq);

	/* Frame Sync LED */
	const QString strLEDFrameSync =
		tr("<b>Frame Sync LED:</b> The DRM frame "
		"synchronization status is shown with this LED. This LED is also only "
		"active during acquisition state of the Dream receiver. In tracking "
		"mode, this LED is always green.");

	QWhatsThis::add(TextLabelLEDFrameSync, strLEDFrameSync);
	QWhatsThis::add(LEDFrameSync, strLEDFrameSync);

	/* FAC CRC LED */
	const QString strLEDFACCRC =
		tr("<b>FAC CRC LED:</b> This LED shows the Cyclic "
		"Redundancy Check (CRC) of the Fast Access Channel (FAC) of DRM. FAC "
		"is one of the three logical channels and is always modulated with a "
		"4-QAM. If the FAC CRC check was successful, the receiver changes to "
		"tracking mode. The FAC LED is the indication whether the receiver "
		"is synchronized to a DRM transmission or not.<br>"
		"The bandwidth of the DRM signal, the constellation scheme of MSC and "
		"SDC channels and the interleaver depth are some of the parameters "
		"which are provided by the FAC.");

	QWhatsThis::add(TextLabelLEDFACCRC, strLEDFACCRC);
	QWhatsThis::add(LEDFAC, strLEDFACCRC);

	/* SDC CRC LED */
	const QString strLEDSDCCRC =
		tr("<b>SDC CRC LED:</b> This LED shows the CRC "
		"check result of the Service Description Channel (SDC) which is one "
		"logical channel of the DRM stream. This data is transmitted in "
		"approx. 1 second intervals and contains information about station "
		"label, audio and data format, etc. The error protection is normally "
		"lower than the protection of the FAC. Therefore this LED will turn "
		"to red earlier than the FAC LED in general.<br>If the CRC check "
		"is ok but errors in the content were detected, the LED turns "
		"yellow.");

	QWhatsThis::add(TextLabelLEDSDCCRC, strLEDSDCCRC);
	QWhatsThis::add(LEDSDC, strLEDSDCCRC);

	/* MSC CRC LED */
	const QString strLEDMSCCRC =
		tr("<b>MSC CRC LED:</b> This LED shows the status "
		"of the Main Service Channel (MSC). This channel contains the actual "
		"audio and data bits. The LED shows the CRC check of the AAC core "
		"decoder. The SBR has a separate CRC, but this status is not shown "
		"with this LED. If SBR CRC is wrong but the AAC CRC is ok one can "
		"still hear something (of course, the high frequencies are not there "
		"in this case). If this LED turns red, interruptions of the audio are "
		"heard. The yellow light shows that only one 40 ms audio frame CRC "
		"was wrong. This causes usually no hearable artifacts.");

	QWhatsThis::add(TextLabelLEDMSCCRC, strLEDMSCCRC);
	QWhatsThis::add(LEDMSC, strLEDMSCCRC);

	/* MLC, Number of Iterations */
	const QString strNumOfIterations =
		tr("<b>MLC, Number of Iterations:</b> In DRM, a "
		"multilevel channel coder is used. With this code it is possible to "
		"iterate the decoding process in the decoder to improve the decoding "
		"result. The more iterations are used the better the result will be. "
		"But switching to more iterations will increase the CPU load. "
		"Simulations showed that the first iteration (number of "
		"iterations = 1) gives the most improvement (approx. 1.5 dB at a "
		"BER of 10-4 on a Gaussian channel, Mode A, 10 kHz bandwidth). The "
		"improvement of the second iteration will be as small as 0.3 dB."
		"<br>The recommended number of iterations given in the DRM "
		"standard is one iteration (number of iterations = 1).");

	QWhatsThis::add(TextNumOfIterations, strNumOfIterations);
	QWhatsThis::add(SliderNoOfIterations, strNumOfIterations);

	/* Flip Input Spectrum */
	QWhatsThis::add(CheckBoxFlipSpec,
		tr("<b>Flip Input Spectrum:</b> Checking this box "
		"will flip or invert the input spectrum. This is necessary if the "
		"mixer in the front-end uses the lower side band."));

	/* Mute Audio */
	QWhatsThis::add(CheckBoxMuteAudio,
		tr("<b>Mute Audio:</b> The audio can be muted by "
		"checking this box. The reaction of checking or unchecking this box "
		"is delayed by approx. 1 second due to the audio buffers."));

	/* Reverberation Effect */
	QWhatsThis::add(CheckBoxReverb,
		tr("<b>Reverberation Effect:</b> If this check box is checked, a "
		"reverberation effect is applied each time an audio drop-out occurs. "
		"With this effect it is possible to mask short drop-outs."));

	/* Log File */
	QWhatsThis::add(CheckBoxWriteLog,
		tr("<b>Log File:</b> Checking this box brings the "
		"Dream software to write a log file about the current reception. "
		"Every minute the average SNR, number of correct decoded FAC and "
		"number of correct decoded MSC blocks are logged including some "
		"additional information, e.g. the station label and bit-rate. The "
		"log mechanism works only for audio services using AAC source coding. "
#ifdef _WIN32
		"During the logging no Dream windows "
		"should be moved or re-sized. This can lead to incorrect log files "
		"(problem with QT timer implementation under Windows). This problem "
		"does not exist in the Linux version of Dream."
#endif
		"<br>The log file will be "
		"written in the directory were the Dream application was started and "
		"the name of this file is always DreamLog.txt"));

	/* Freq */
	QWhatsThis::add(EdtFrequency,
		tr("<b>Freq:</b> In this edit control, the current "
		"selected frequency on the front-end can be specified. This frequency "
		"will be written into the log file."));

	/* Wiener */
	const QString strWienerChanEst =
		tr("<b>Channel Estimation Settings:</b> With these "
		"settings, the channel estimation method in time and frequency "
		"direction can be selected. The default values use the most powerful "
		"algorithms. For more detailed information about the estimation "
		"algorithms there are a lot of papers and books available.<br>"
		"<b>Wiener:</b> Wiener interpolation method "
		"uses estimation of the statistics of the channel to design an optimal "
		"filter for noise reduction.");

	QWhatsThis::add(RadioButtonFreqWiener, strWienerChanEst);
	QWhatsThis::add(RadioButtonTiWiener, strWienerChanEst);

	/* Linear */
	const QString strLinearChanEst =
		tr("<b>Channel Estimation Settings:</b> With these "
		"settings, the channel estimation method in time and frequency "
		"direction can be selected. The default values use the most powerful "
		"algorithms. For more detailed information about the estimation "
		"algorithms there are a lot of papers and books available.<br>"
		"<b>Linear:</b> Simple linear interpolation "
		"method to get the channel estimate. The real and imaginary parts "
		"of the estimated channel at the pilot positions are linearly "
		"interpolated. This algorithm causes the lowest CPU load but "
		"performs much worse than the Wiener interpolation at low SNRs.");

	QWhatsThis::add(RadioButtonFreqLinear, strLinearChanEst);
	QWhatsThis::add(RadioButtonTiLinear, strLinearChanEst);

	/* DFT Zero Pad */
	QWhatsThis::add(RadioButtonFreqDFT,
		tr("<b>Channel Estimation Settings:</b> With these "
		"settings, the channel estimation method in time and frequency "
		"direction can be selected. The default values use the most powerful "
		"algorithms. For more detailed information about the estimation "
		"algorithms there are a lot of papers and books available.<br>"
		"<b>DFT Zero Pad:</b> Channel estimation method "
		"for the frequency direction using Discrete Fourier Transformation "
		"(DFT) to transform the channel estimation at the pilot positions to "
		"the time domain. There, a zero padding is applied to get a higher "
		"resolution in the frequency domain -> estimates at the data cells. "
		"This algorithm is very speed efficient but has problems at the edges "
		"of the OFDM spectrum due to the leakage effect."));

	/* Guard Energy */
	QWhatsThis::add(RadioButtonTiSyncEnergy,
		tr("<b>Guard Energy:</b> Time synchronization "
		"tracking algorithm utilizes the estimation of the impulse response. "
		"This method tries to maximize the energy in the guard-interval to set "
		"the correct timing."));

	/* First Peak */
	QWhatsThis::add(RadioButtonTiSyncFirstPeak,
		tr("<b>First Peak:</b> This algorithms searches for "
		"the first peak in the estimated impulse response and moves this peak "
		"to the beginning of the guard-interval (timing tracking algorithm)."));

	/* SNR */
	const QString strSNREst =
		tr("<b>SNR:</b> Signal to Noise Ratio (SNR) "
		"estimation based on FAC cells. Since the FAC cells are only "
		"located approximately in the region 0-5 kHz relative to the DRM DC "
		"frequency, it may happen that the SNR value is very high "
		"although the DRM spectrum on the left side of the DRM DC frequency "
		"is heavily distorted or disturbed by an interferer so that the true "
		"overall SNR is lower as indicated by the SNR value. Similarly, "
		"the SNR value might show a very low value but audio can still be "
		"decoded if only the right side of the DRM spectrum is degraded "
		"by an interferer.");

	QWhatsThis::add(ValueSNR, strSNREst);
	QWhatsThis::add(TextSNRText, strSNREst);

	/* MSC WMER / MSC MER */
	const QString strMERWMEREst =
		tr("<b>MSC WMER / MSC MER:</b> Modulation Error Ratio (MER) and "
		"weighted MER (WMER) calculated on the MSC cells is shown. The MER is "
		"calculated as follows: For each equalized MSC cell (only MSC cells, "
		"no FAC cells, no SDC cells, no pilot cells), the error vector from "
		"the nearest ideal point of the constellation diagram is measured. The "
		"squared magnitude of this error is found, and a mean of the squared "
		"errors is calculated (over one frame). The MER is the ratio in [dB] "
		"of the mean of the squared magnitudes of the ideal points of the "
		"constellation diagram to the mean squared error. This gives an "
		"estimate of the ratio of the total signal power to total noise "
		"power at the input to the equalizer for channels with flat frequency "
		"response.<br> In case of the WMER, the calculations of the means are "
		"multiplied by the squared magnitude of the estimated channel "
		"response.<br>For more information see ETSI TS 102 349.");

	QWhatsThis::add(ValueMERWMER, strMERWMEREst);
	QWhatsThis::add(TextMERWMER, strMERWMEREst);

	/* DRM Mode / Bandwidth */
	const QString strRobustnessMode =
		tr("<b>DRM Mode / Bandwidth:</b> In a DRM system, "
		"four possible robustness modes are defined to adapt the system to "
		"different channel conditions. According to the DRM standard:<ul>"
		"<li><i>Mode A:</i> Gaussian channels, with "
		"minor fading</li><li><i>Mode B:</i> Time "
		"and frequency selective channels, with longer delay spread</li>"
		"<li><i>Mode C:</i> As robustness mode B, but "
		"with higher Doppler spread</li>"
		"<li><i>Mode D:</i> As robustness mode B, but "
		"with severe delay and Doppler spread</li></ul>The "
		"bandwith is the gross bandwidth of the current DRM signal");

	QWhatsThis::add(FACDRMModeBWL, strRobustnessMode);
	QWhatsThis::add(FACDRMModeBWV, strRobustnessMode);

	/* Interleaver Depth */
	const QString strInterleaver =
		tr("<b>Interleaver Depth:</b> The symbol "
		"interleaver depth can be either short (approx. 400 ms) or long "
		"(approx. 2 s). The longer the interleaver the better the channel "
		"decoder can correct errors from slow fading signals. But the "
		"longer the interleaver length the longer the delay until (after a "
		"re-synchronization) audio can be heard.");

	QWhatsThis::add(FACInterleaverDepthL, strInterleaver);
	QWhatsThis::add(FACInterleaverDepthV, strInterleaver);

	/* SDC / MSC Mode */
	const QString strSDCMSCMode =
		tr("<b>SDC / MSC Mode:</b> Shows the modulation "
		"type of the SDC and MSC channel. For the MSC channel, some "
		"hierarchical modes are defined which can provide a very strong "
		"protected service channel.");

	QWhatsThis::add(FACSDCMSCModeL, strSDCMSCMode);
	QWhatsThis::add(FACSDCMSCModeV, strSDCMSCMode);

	/* Prot. Level (B/A) */
	const QString strProtLevel =
		tr("<b>Prot. Level (B/A):</b> The error protection "
		"level of the channel coder. For 64-QAM, there are four protection "
		"levels defined in the DRM standard. Protection level 0 has the "
		"highest protection whereas level 3 has the lowest protection. The "
		"letters A and B are the names of the higher and lower protected parts "
		"of a DRM block when Unequal Error Protection (UEP) is used. If Equal "
		"Error Protection (EEP) is used, only the protection level of part B "
		"is valid.");

	QWhatsThis::add(FACCodeRateL, strProtLevel);
	QWhatsThis::add(FACCodeRateV, strProtLevel);

	/* Number of Services */
	const QString strNumServices =
		tr("<b>Number of Services:</b> This shows the "
		"number of audio and data services transmitted in the DRM stream. "
		"The maximum number of streams is four.");

	QWhatsThis::add(FACNumServicesL, strNumServices);
	QWhatsThis::add(FACNumServicesV, strNumServices);

	/* Received time - date */
	const QString strTimeDate =
		tr("<b>Received time - date:</b> This label shows "
		"the received time and date in UTC. This information is carried in "
		"the SDC channel.");

	QWhatsThis::add(FACTimeDateL, strTimeDate);
	QWhatsThis::add(FACTimeDateV, strTimeDate);

	/* Save audio as wave */
	QWhatsThis::add(CheckBoxSaveAudioWave,
		tr("<b>Save Audio as WAV:</b> Save the audio signal "
		"as stereo, 16-bit, 48 kHz sample rate PCM wave file. Checking this "
		"box will let the user choose a file name for the recording."));

	/* Chart Selector */
	QWhatsThis::add(ListViewCharSel,
		tr("<b>Chart Selector:</b> With the chart selector "
		"different types of graphical display of parameters and receiver "
		"states can be chosen. The different plot types are sorted in "
		"different groups. To open a group just double-click on the group or "
		"click on the plus left of the group name. After clicking on an item "
		"it is possible to choose other items by using the up / down arrow "
		"keys. With these keys it is also possible to open and close the "
		"groups by using the left / right arrow keys.<br>A separate chart "
		"window for a selected item can be opened by right click on the item "
		"and click on the context menu item."));

	/* Interferer Rejection */
	const QString strInterfRej =
		tr("<b>Interferer Rejection:</b> There are two "
		"algorithms available to reject interferers:<ul>"
		"<li><b>Bandpass Filter (BP-Filter):</b>"
		" The bandpass filter is designed to have the same bandwidth as "
		"the DRM signal. If, e.g., a strong signal is close to the border "
		"of the actual DRM signal, under some conditions this signal will "
		"produce interference in the useful bandwidth of the DRM signal "
		"although it is not on the same frequency as the DRM signal. "
		"The reason for that behaviour lies in the way the OFDM "
		"demodulation is done. Since OFDM demodulation is a block-wise "
		"operation, a windowing has to be applied (which is rectangular "
		"in case of OFDM). As a result, the spectrum of a signal is "
		"convoluted with a Sinc function in the frequency domain. If a "
		"sinusoidal signal close to the border of the DRM signal is "
		"considered, its spectrum will not be a distinct peak but a "
		"shifted Sinc function. So its spectrum is broadened caused by "
		"the windowing. Thus, it will spread in the DRM spectrum and "
		"act as an in-band interferer.<br>"
		"There is a special case if the sinusoidal signal is in a "
		"distance of a multiple of the carrier spacing of the DRM signal. "
		"Since the Sinc function has zeros at certain positions it happens "
		"that in this case the zeros are exactly at the sub-carrier "
		"frequencies of the DRM signal. In this case, no interference takes "
		"place. If the sinusoidal signal is in a distance of a multiple of "
		"the carrier spacing plus half of the carrier spacing away from the "
		"DRM signal, the interference reaches its maximum.<br>"
		"As a result, if only one DRM signal is present in the 20 kHz "
		"bandwidth, bandpass filtering has no effect. Also,  if the "
		"interferer is far away from the DRM signal, filtering will not "
		"give much improvement since the squared magnitude of the spectrum "
		"of the Sinc function is approx -15 dB down at 1 1/2 carrier "
		"spacing (approx 70 Hz with DRM mode B) and goes down to approx "
		"-30 dB at 10 times the carrier spacing plus 1 / 2 of the carrier "
		"spacing (approx 525 Hz with DRM mode B). The bandpass filter must "
		"have very sharp edges otherwise the gain in performance will be "
		"very small.</li>"
		"<li><b>Modified Metrics:</b> Based on the "
		"information from the SNR versus sub-carrier estimation, the metrics "
		"for the Viterbi decoder can be modified so that sub-carriers with "
		"high noise are attenuated and do not contribute too much to the "
		"decoding result. That can improve reception under bad conditions but "
		"may worsen the reception in situations where a lot of fading happens "
		"and no interferer are present since the SNR estimation may be "
		"not correct.</li></ul>");

	QWhatsThis::add(GroupBoxInterfRej, strInterfRej);
	QWhatsThis::add(CheckBoxRecFilter, strInterfRej);
	QWhatsThis::add(CheckBoxModiMetric, strInterfRej);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -