Keyboard Shortcuts
Likes
- SoftwareControlledHamRadio
- Messages
Search
Re: T41 Hilbert Filter Design
Picking up on Greg's suggestion to look at the DSP transmit chain with a "swept tone into the T41 microphone input", I ran the chain through my network analyzer.? I excluded the Hilbert transform and scaled the output to be about 0dB for the current v66-9 filters.? Thus, the DSP transmit chain I examined is: input -> dec1 -> dec2 -> scale5 -> dec3 -> int3 -> scale3d5 -> int1 -> int2 -> scale5 -> output.
?
With the current filters, here's the network analyzer output.? Note the instability between 5-7kHz.? I assume that's caused by some of the low pass filters passing information above the Nyquist frequency for the 12kHz sample rate used for the Hilbert transform.
?
?
Reworking all of the low pass filters for a 4.8kHz cutoff cleans things up.? Notice the gain increases with these new low pass filters.
?
?
Here all of the decimation/interpolation initialization functions use all 48 coefficients.? As Oliver highlighted, this isn't the case for several of the filters in the original code.? Just changing those filters to use all 48 coefficients shows that was the cause of the gain increase seen above.? The instability between 5-7kHz is still present though.
?
|
Re: T41 Hilbert Filter Design
Relative to the +/-45 vs 0/90 arrangement of the Hilbert, last night I did an Octave look at two cases:
A - The +/- 45 100-tap FIRs from the current KI3P Github.
B - An 199 tap 90 degree plus delay from Iowa Hills Hilbert program.
?
I chose the 199 tap as it uses the same amount of computation as the two 100 tap FIRs for case A.
?
I calculated opposite sideband suppression, including both phase and amplitude errors, vs frequency assuming a 12ksps rate.
Case A gave 50 dB suppression for 223 to 5044 Hz signal frequency.
Case B gave 50 dB suppression for 112 to 5888 Hz signal frequency.
?
They both have -70 or greater throughout the mid range.? Case B is symmetrical in frequency and Case A is not.
?
73, Bob? W7PUA |
Re: T41 with Polar Modulation
On Mon, May 26, 2025 at 11:23 AM, jerry-KF6VB wrote:
On 2025-05-25 19:50, Dave VE3LHO wrote:Understood. I'm not planning to shell out >$5K for one when it becomes available either. Thus the "for what its worth". My point was that EER has now broken though to commercial ham equipment. And that they have a proof-of-concept of sorts for EER for much higher power than QMX or (tr)uSDR.
?
The interesting issue to me (as I tried to say in my previous post but it got cut off) is the synchronization between phase and amplitude changes. A solvable problem but the calibration routine will be "interesting" |
Re: T41 with Polar Modulation
On 2025-05-25 19:50, Dave VE3LHO wrote:
FWIW Flex's new transceiver (the Aurora [1]) also uses polar*** Since Flex's stuff is totally closed source, it really doesn't matter to me what they do. I just read Hans' article. Amazing! I was thinking - how to use this technique with higher power? The part where you wiggle the frequency of the si5351 is power-independent. That wouldn't change. But what about the AM modulation part? Well, there used to be high power AM rigs... Apparently, the final can run class C. Highly efficient. But you need a *lot* of audio. Where can I find a high power audio amp with good linearity? Yup, the world of hi-fi. Intriguing... - Jerry, KF6VB |
Re: LPF question
¿ªÔÆÌåÓýPhil, thanks for the input. I was able to find the ones I was
missing from Mouser and DigiKey. I had ordered the BOM months ago
but some values were not available. However they were only
available in 500V versions and very pricey.? Tariffs weren't an
issue, only about 10% on a few other parts. I try to order as many
things as I can because of the $8 shipping. When I first started
this project I was able to order enough parts to get free
shipping. I've ordered from LCSC some time ago and wish I'd
checked their site but I was in a hurry to finish the LPF. On 5/26/2025 1:47 AM, Phil Taylor via
groups.io wrote:
--
73
Bob W3RDL |
Re: T41 with Polar Modulation
I had a conversation with Hans about this, and it was our feeling that it was probably not worth the extra overhead and additions to the hardware, since the K9HZ amp is running in a much more linear mode than other MOSFET amps. As proof of this, look at the attached Two-Tone test with that amp. We are getting 36 dBC of separation of the 3rd order IM products compared to the carrier. That is generally considered "Very Good". This is about what Hans reported for his amp with the Polar Modulation. Better than -40dBC is usually considered "Excellent".
?
To accomplish the amplitude portion of the Polar modulation would require some hardware changes, if I understand the process correctly. The power supply voltage is varied to accomplish the amplitude modulation in Han's scheme.
?
However, the predistortion process would probably be beneficial and does not require more hardware - just some careful measurements.
Regards,
Al
AC8GY
|
Re: T41 Hilbert Filter Design
That's a nice program!? I've been using Octave in my DSP experiments.? Usually, Matlab code will run in it with little modification.? I've designed filters in it to run on the Teensy, but I never thought of going in reverse and testing the T41 filters in it.? I'll have to give that a try. |
Re: LPF question
Bob
?
Where did you get with this?
?
I just ordered 500V, 630V or 1kV instead. LCSC always have good pricing, rather than Mouser and DigiKey.
Most caps at LCSC were around 3-20 cents pre-tariff, I always order 20 of each, I know they will get used on later projects.
For example: ?or which are just 2 from my bom
Since I'm in AUS, I can't comment on tariff.
?
Regards Phil VK2KKZ |
Re: T41 with Polar Modulation
FWIW Flex's new transceiver (the ) also uses polar modulation (aka EER Envelope Elimination and Restoration) Apparently they hired one of the people behind the out of retirement. They claim 500W with 80% efficiency.
?
Of course, the EER radios most of us have heard of are the uSDX and truSDX. Although I am amazed at these little radio, since they are using the same Atmel Atmega328 as the classic Arduino Uno, I've personally avoided them since they have a reputation of splattering. Seems like they can be made to work well but are "fragile". Lots of things can go wrong so they don't work well. I have a lot of respect for programmers who can squeeze the last bit out of a processor but in this case I think it was a great proof of concept that shouldn't have been made generally available.
?
Like Oliver I wonde
?
On Sun, May 25, 2025 at 11:27 AM, Oliver KI3P wrote:
|
Re: T41 Hilbert Filter Design
I made the plots using Python matplotlib library which is heavily inspired by Matlab, so I'm not surprised you thought that! I switched from Matlab to Python about 15 years ago when I got sick of paying for licenses and dealing with license servers. Haven't looked back! The data for the plots was produced by a test C++ program I wrote on my desktop computer. I extracted the code for the filters and wrote a routine to run tones across a range of frequencies through the decimation filters. The resulting gains at each tone frequency are written to a text file. Then a simple Python script reads the text file and makes the plot. -------- Original Message -------- On 5/25/25 7:06 PM, Terrance Robertson, KN6ZDE via groups.io wrote:
|
Re: T41 Hilbert Filter Design
I saw the inconsistency in the coefficient array sizes and six of the init functions but then saw that the coefficient arrays seemed specially structured for this type of dual use.? I figured it was for calculation efficiency, but I couldn't find any discussion about it in the book.? However, your graphs are very telling!? Are those from Matlab? |
Re: T41 Hilbert Filter Design
I'll investigate this too, thanks for all the great advice! I'm testing each of the transmit DSP steps individually. I've found another issue -- the number of taps in the initialization of FIR_dec2_EX_I and FIR_dec2_EX_Q should be 48, not 24. See this line and the one after it: With the values currently in the code we get the following responses from the FIR filters in the first two decimation filters: If I change the number of taps in the initialization of FIR_dec2_EX_I and FIR_dec2_EX_Q to be 48 instead of 24, and increase the size of their buffers from 535 to 559, I get the following: I'll keep working my way down the line and test each step -- will get to the Hilbert filter in a bit.
On Sunday, May 25th, 2025 at 3:07 PM, Terrance Robertson, KN6ZDE via groups.io <tmrob4@...> wrote:
|
Re: T41 Hilbert Filter Design
A picture is worth a thousand words.
?
?
This uses half the bandwidth as in my earlier post!? And cleaner upper sideband as well.
?
Greg mentioned to me the other day that applying the Hilbert filter at a 12kHz sample rate gave better low frequency results.? I noted at that time that I didn't find the Hilbert coefficients changing with sample rate.? Thus, I had the idea to try the newer 12kHz sample rate code with the old 24kHz Hilbert coefficients.? It's just one test, but it looks pretty good.? Perhaps others can try as well to confirm.
?
Note that in the other post, when I used the older Hilbert coefficients, I also ran the filter at 24kHz. |
Re: T41 Hilbert Filter Design
Ok.? But the coefficient from in v50 labeled 90 and 0 don't follow that pattern.? And all of the +/- 45 degree coefficients I've seen are the same but reversed.? That's a limited set though so I'm not saying other structures aren't possible.? It's why I asked for the design file.? |