New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
custom_audio_filters #3
Comments
Merged feature/custom_audio_filters into develop. Ready for QA |
This feature would be misused by attempting to correct improper pre and/or de emphasis settings or radio connections. I don't believe this feature is needed on any properly installed system. However, I invite MrBungle42 to provide a use case for this feature. |
The filter controls only allow a user to widen the filters not narrow them, I do not see how it would be misused. The defaults retain the normal filter limits. The additional settings increase the high and low range. |
These audio filters are a feature pioneered by Jeff DePolo, WN3A in 2011. In February 2017, Mike, N4IRR ported the filters from XIPAR to ASL 1.01 and merged into ASL 1.01. For proper operation on the Raspberry Pi and other platforms, Mike added a few fixes. This feature is a set of selectable audio filters for amateur radio applications. The default transmit and receive filters were designed around commercial standards. However, because amateur radio operators have the resources to use wider bandwidths, especially on UHF, they may prefer other filter types in order to provide higher audio quality. Over the years there have been other fixes for the usbradio channel driver minimizing the distortions. The results below proves the distortions are considerably lower than what a typical radio/repeater will add into the audio chain (.8% for the application vs. 3 to 5% or more for the radio). Contrary to what you may have read elsewhere, the dynamic range of this application, when properly deployed, is far beyond the capabilities of wide-band FM radio. The following settings can be optionally used in a USB radio interface context in "/etc/asterisk/usbradio.conf". If these keyword and value pairs are not present, their values default to zero (0). These alternate filters should be used with care. Note that additional computing power and radio adjustments may be necessary depending on your application. They have been extensively tested and work fine even with the Raspberry Pi3. Unlike other distributions, we encourage the use of the usbradio channel driver (chan_usbradio), or what we commonly call "Full DSP" in AllStarLink 1.01. This feature will also work in simpleusb, if that's what you prefer. This feature is immediately available in new AllStarLink installations and updates. Receiver Audio Low Pass Filter Options: Receiver Audio High Pass Filter Options: Transmitter Audio Low Pass Filter Options: Transmitter Audio High Pass Filter Options: Key points and specifications:
The developers recommend the following settings: Here's a brief synopsis of what the frequency response from Rx to Tx is like with the DEFAULT (zero) filters that everybody is currently using: < -40 dB @ 210 Hz and below
So, you can see that the low-end suffers quite a bit, as it's almost 8 dB down at 300 Hz. It also has overshoots in excess of 1 dB centered at 425 and 675 Hz. The high end falls off quite sharply as well. By switching to all 1's for the filters, here's what the response is like: < -40 dB @ 180 and below Notice the improvement at the low end and high end. The frequency response is flat to within ± 1 dB from 286 Hz to 2.77 kHz. Regardless of what low-pass filtering you have (or don't have) in your transmitter, nor what your channel spacing is (15 kHz versus 20/25), you should have no problems as far as excessive occupied bandwidth using all 1's for the filters. HOWEVER (and here's a big however), the CM108, even when not being sent data by the channel driver, has about 350 uV RMS of residual wideband noise, with energy primarily falling at harmonics of the sample rate (48 kHz). 350 uV is about 71 dB below the maximum output level of the CM108 best-case, but the ratio may be much worse than that depending on how low you have txvoice set (i.e. it may only end up being 30 or 40 dB down if your Tx has a sensitive input and you have txvoice set accordingly low). As such, we strongly DO NOT recommend feeding a CM108/119 output directly to the modulator without low-pass filtering in the exciter, or optionally in the radio adapter. The LPF doesn't need to be anywhere near as aggressive as it would be in a stock radio of course, but it should sufficiently attenuate everything in the ultrasonic range. As always, you should proof your contraptions with a spectrum analyzer before sticking them on a mountaintop! Deviations from all filters being set to 1 follow: If you do have an external PL reject filter in the receiver, you should be able to use rxhpf=1 no matter what tone you're using. Some receiver discriminators have a little more high-end rolloff than others. At your option, and after adequate testing, going to rxlpf=2 shouldn't cause any problems either locally or on the network. But, the difference between rxlpf=1 and rxlpf=2 is pretty minor, and really only improves the response over a fairly narrow range at the very high end, which most people aren't going to notice. In summary, we believe if you switch all of the filters to 1 you'll be very happy with the improvement in quality and no further tweaking will be necessary. Our goal was to make the "1" filters - plug and play. The improvement will obviously be greatest when both the repeater you're on as well as the repeater of the user(s) you're talking to have the updated filter code, and have taken advantage of these filters. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Add custom audio filters
Implement feature for usbradio to:
The text was updated successfully, but these errors were encountered: