Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

Automated diversity reception for noise cancellation/beamsteering/ESC

John Mikucki
John Mikucki Member ✭✭
https://community.flexradio.com/discussion/comment/13563550 contained two feature requests, one for ear-driven 'noise filtering' and one for FPGA/computer-driven noise filtering based on dual-SCU capture and math (whether the PowerSDR-style phase cancellation Enhanced Signal Clarity, with e.g. a directional on TX/RX1 and an RX-only omni:
https://www.youtube.com/watch?v=gZYi-A3jp3A
https://www.youtube.com/watch?v=qdQm17udCSo
or more advanced/automated/... techniques

in place of external units, e.g. https://www.youtube.com/watch?v=4EJXHpANxYY

Ear-driven diversity reception has been implemented and that original idea was marked closed, but the automated approach does not appear to have been implemented.
Tagged:
16 votes

Open for Comments · Last Updated

Comments

  • G8VR
    G8VR Member
    edited July 2021
    I've seen this comment a number of times and not been on the board for a good while. This was in the 5000 and worked killer. Was on the roadmap for the 6 series, but the car seems to have left the road and gone over a cliff, which is a big shame. Why have a capable radio and no implementation. Sense - no it doesn't make any at all. Noise is one of the biggest challenges facing ham radio. Have a look at the Anan doing this - video already linked by John above. I had the 8000 and it works as good as he shows, as it does on the 5000, which KE9NS is showing in the other video. Please can a moderator or someone explain why after all this time has this not been implemented?
  • Bill AB7AA
    Bill AB7AA Member ✭✭✭

    G8VR,

    I too am disappointed in the non-progress of this capability. I bought 2 dual SCR 6700's early-on largely because of this anticipated feature. I doubt that they have any plans to implement even a manual version because a requirement would be to be able to assign an antenna to each ANT1/ANT2 and SCR. It has been stated in other posts that they cannot do this and keep SmartSDR the same for all versions of the 6000 series. Our loss.

    Bill, AB7AA

  • Stan VA7NF
    Stan VA7NF Member ✭✭✭

    Bill, totally agree. My 6700 purchase, pre V1 ssdr, was entirely because of the 5000 noise processing and promise to have (**eventual**) support in 6000.

    Other features are unique between models and having active noise reduction (as per 5000) would be a reason to purchase the higher end 6000 series. For example currently 14Mhz panadapter width comes with the higher end A2D converter and sub 4K resolution for 6700 (now the newer models) are upper model features.

    Why not noise phasing? Perhaps the GateArray power, it was a PEN on the original 6700s.

  • Brian  K0BUS
    Brian K0BUS Member ✭✭

    This is the only issue that would make me leave Flex.

  • Dan Trainor
    Dan Trainor Member ✭✭✭

    I am also waiting for Diversity RX for use in Noise Cancelation (Phasing). This is the state of the art today (actually yesterday) on receivers, even the low cost SDRPlay RSPDuo. Flex 6000 series should have this by now. It has been requested for years now. For those that are not familiar, you can set up a "noise capture" antenna on one RX input and also receive on your "main" antenna simultaneously. If you have two SCUs. The noise capture antenna is oriented in a way that would pick up the max noise from an offending source either in your shack or neighborhood. Then, by using a circular dial control in SSDR you can adjust both the phase angle and magnitude (with your mouse) between the two RX inputs. The end result is the offending noise is "phased out" of the main signal path (main RX inout) and you have canceled the noise and increased the S/N - sometimes by a significant amount, depending upon your situation. If you have tried this with say an Anan or SDRPlay or other receiver, the results can be quite remarkable. Imagine bringing an S7 noise level down to S2! Many times means the difference between working weak stations or not. There are some outboard hardware based solutions from WiMo, DX Eng, MFJ, etc for older receivers to do the same, but having the capability built inside the SSDR software is preferable and even necessary when operating remote. I have been saying for a long time that this capability is probably one of the most important features for receiver noise mitigation in SDR radios today. Flex Radios with dual SCUs and multiple RX inputs are uniquely positioned to provide this capability inside the firmware and expose the phasing dial control within the client. Unless there is some technical reason like the two SCU are not clock synced or something. Today, where many of us live in Urban and/or Suburban, this capability is essential. Other use cases for Diversity involve beam steering and other uses as well. But, that is for another post. It is my hope that Flex Radio implements this feature in an upcoming release as this is needed by many and it is the state of receiver art today (actually yesterday). dan

  • Trucker
    Trucker Member ✭✭✭

    One of the reasons I now have a Flex 5000A and a Anan 8000DLE. Both do Phase cancelation well. I had hoped this feature along with improved Automatic Notch Filter, Noise Reduction and an All Mode Squelch would someday make an appearance in SmartSDR. As it is those two radios out do my 6600M in some big ways. Having remote capabilities and wide band receive on 4 panadapters is nice. But, that doesn't make up for the poor preforming or missing features in a very expensive Radio.

    James

    WD5GWY

  • Dan Trainor
    Dan Trainor Member ✭✭✭

    Trucker on Anan, combine Diversity and also engage NR2 and it is amazingly quiet.

  • Stan VA7NF
    Stan VA7NF Member ✭✭✭
    • - Dual phase locked SCA on all high-end Flex 6000s
    • - Gate array capacity boost included in long ago almost forgotten 6700 PEN
    • - Operating diversity in 5000A
    • - Logic confirmed and available for porting to gate array logic
    • - High on user list
    • - Benefit for Military projects, if not already there

    Missing:

    • - API standard for networking control and results
    • - Control display logic (For SmartSDR; it exists in PowerSDR )
    • - Knowledgeable programmers for Radio Server environment

    Steve and Eric, please explain how "active diversity" MAY move, without a commitment, from a "Science Project". Statements beyond the original, 8+ year old "pseudo promise" at 6000 series introduction, would be greatly appreciated.

    p.s. I owned my 5000A for 18 hours (one night experimenting including diversity) before returning it and placing the deposit on the that day 6700 signature edition announcement; I still enjoy wearing the personalized fund-raising bonus jacket. Your SmartSDR improvements over the years have also been appreciated

  • Trucker
    Trucker Member ✭✭✭

    Stan, I am curious about your statement "Control display logic(for SmartSDR; it exists in PowerSDR) Are you asking for methods to control the actual display and functions in SmartSDR itself? Or, are you asking as another person asked in another thread, to be able to use the same graphic controls as SmartSDR uses? In the other thread, the poster thought FRS used a different API to create the graphic interface in SmartSDR. What I have found out they use is the controls in Visual Studio and some commercial third party controls for things like the Slide Out forms etc. If you look in the Windows install folder for SmartSDR you will see the commercial dll's there. I Googled the names and came up with the software company that created them and sells them. Since my attempts at programming are nothing special, I could not see paying for custom controls just to play around with. So, I only use what is available in the Community Edition of Visual Studio. There are some freeware controls out there. But, none that appeared to me to be the same as what is used by Flex Radio. I too have had hopes that SmartSDR would receive attention in several areas. Owning a 6600M, I had hopes that I could use the dual SCU's for true Diversity reception and Phase Cancellation for Noise mitigation just like it works with the 5000A in PowerSDR and with my new to me, Anan 8000DLE in Thetis. Even without Diversity and Phase Cancellation, I would love for Flex Radio to step up at some point and fix the Automatic Notch Filter, improve the Noise Reduction and add an "All Mode" squelch. I have considered the ANF and Squelch to be BASIC features for years. I have radios here that are 20+ years old that have better preforming ANF than the one in SmartSDR. (been like this since the introduction of the 6000 Series) The Noise Reduction in SmartSDR is good, to a point. But, once you have experienced Noise Reduction 2 in Thetis and OpenHPSDR prior to that, you will not be happy with the difference. I "fixed" the Automatic Notch Filter problem in my 6600M by adding a Timewave 599zx outboard DSP filter that I have had for years. The ANF in it is flawless. And even the Noise Reduction at times, is better than the equivalent function in SmartSDR. To me, that really shouldn't be that way. The hardware is great, the Customer Service is outstanding. But, the software that makes all the things work, has long standing issues that , to me, appears will never be addressed. I am glad FRS has the government contracts they do. But, if they want to keep the Amateur radio portion of their business going, they really should address the above issues and those expressed by many other owners of their 6000 Series radios. My one concern is FRS will decide there is not enough income in the Amateur Radio side of their business and abandon that part of the company. If that does happen, I hope that they would find a way to allow 3rd party developers to access the necessary parts of the software in the radios themselves. That way, it would be possible for someone to fix the basic features. But, realistically, I doubt that would happen should they give up the Amateur radio side of their business. So, the only solution is to find workarounds that help the customer fix for themselves problems in SmartSDR that are not being addressed currently. (as mentioned above, that is what I had to do............yet, I feel it isn't right that I should have had to find a workaround for what they could have provided.

    Off my soapbox now.

    James

    WD5GWY

  • Stan VA7NF
    Stan VA7NF Member ✭✭✭

    Apologies for touching off a sore/soapbox item.

    My note was primarily listing what we currently have in place in some form and what is missing. Additionally it was addressed to the software/hardware managers.

    The Control display logic is in PSDR in PC based code and logic, so is easily ported to SSDR (also on a PC). Keeping with Radio Server logic, the implementation, would be on the server gate array using a net new logic and implementation.

    Regards

  • Trucker
    Trucker Member ✭✭✭
    edited July 2022

    Stan, sorry about the soapbox thing. I will try to restrain myself in the future. :-)

    If I understood the rest of your post, are you saying the logic ( algorithm and code) used in PowerSDR to do Diversity reception and phase cancelation are such that they could be ported over to SmartSDR? If that's the case, then the most likely reason it hasn't been copied over to SmartSDR is because all but the Tracking Notch Filter code used in PowerSDR is open source. If FRS used any of that they most likely would have to make the source code to SmartSDR available to avoid problems with the GPL licensing agreements.

    James

    WD5GWY

  • @Trucker I think what @Stan VA7NF is saying is that it is an engineering problem, not a research problem. In the pre-6K radios, all the radio data (I/Q) flowed back to the desktop computer for processing. This was cool and made the radio a very general-purpose tool, but it took a LOT of bandwidth between the radio SCUs and the desktop - and a very powerful desktop at that. So instead the 6K line went to FPGA, Field Programmable Gate Array, chips. They are far more efficient, and thus powerful, in terms of processing large streams of bits, very quickly. The processing of most of that I/Q data happens inside the FPGA, and so muuuuuuuch less data comes out of the radio onto your network and over to your maestro or iphone or whatever.

    Unfortunately, FPGAs are (or used to be) something of a niche skill to program and AFAIK aren't very modular; it's not like a desktop computer where you can just add a piece of software, an RPM or an MSI or an OCI container. More like, if you want to add a chapter to a book, you have to redo the page layout, TOC, index, figures, etc for the whole book. And even if one of us were both able and willing to write and donate it, the program running on that FPGA is very much the 'secret sauce' of FlexRadio-- it's unlikely they'd give us the source code for 'the rest of the book' so we could add in our chapter. If it were me, I'd have taken steps to protect it, and I'd argue (or have designed things such) that the protection both hides my intellectual property AND has some other problematic consequences if broken. Exempli Gratia, the band limits on where you can transmit, or listen, might be coded in the software, so it's easy to sell to this or that international market (and various regional band plans). But that also means that if you could modify the software, you could modify the radio to transmit illegally. (Which, as a ham, you could probably build your own radio to do this, so it's a weaker argument, but still. It's at least a fig leaf.)

    The pointy-clicky-GUI controls are much easier; they'lll be higher level and much more abstracted than the logic-gate-level design of the FPGA code. Even those require a back-end API to talk to, which can also be significant work to implement. Bad APIs are easy to write and can be very, very hard to fix depending on how much downstream code makes use of them.

    All of which is to say, it's work 'we' (read: FRS) knows how to do, but it is nonetheless exacting, perhaps challenging work that takes time and rigorous testing to complete. Depending on the architecture of the radio (@Annaliese - NH6Z , please keep me honest here!) it may be possible to write the backend audio phasing/processing to run on the small linux box inside the radio - similar to how the DStar? codec worked- but I don't know if how much horsepower it takes to handle all that I/Q in software. Odds are, IMHO, very good that insofar as FRS is doing it, they're gonna do it in the FPGA, and it's a capital-P project-- and probably, unfortunately, one that is competing for some of the same scarce gate-jiggling engineers as would be working on their military contracts.

    I say all this as a suburban operator who very much wants this capability; I just happen to think it's not likely to happen until it's going to either a) sell a bunch of new radios, or b) Anan et al start eating FRS' lunch selling radios with proper DR-- which amounts to the same thing.

  • Just to be clear @Trucker @Stan VA7NF @Annaliese - NH6Z when I say 'we' I do not mean to suggest or imply that I am an employee or affiliate of, or in any way represent, FlexRadio. I don't see an edit button or I'd clarify-in-line my above post.

  • Trucker
    Trucker Member ✭✭✭

    John, interesting post! I don't know how much of the actual signal processing takes place in the FPGA in the Flex anymore than I know for certain in the Linux OS used in the radio. I do know that they use C++ for the Linux software and C# for SmartSDR on the client. ( Maestro, M model front panel and pc) I have been told that the FPGA isn't near capacity for code use. Diversity reception works in the 6600(M) and 6700 but currently doesn't have Phase Cancelation like PowerSDR with a 5000A with dual receivers. As well as the Anan dual receiver radios running Thetis and OpenHPSDR before that. Flex Radio doesn't share detailed information about the actual processors running in the 6000 Series radios. I have talked to a guy that has been trying to find out more about the actual hardware inside. Not to reverse engineer the radio, but to get a better idea of what the hardware is capable of. I firmly believe that FRS is capable of adding Phase Cancelation along with several improvements in the firmware for better basic, functions.

    Things they have overlooked for years.

    James

    WD5GWY

  • Stan VA7NF
    Stan VA7NF Member ✭✭✭

    Thankyou James and John for the comments.

    I join you with keeping this line of thought open for FRS decision makers and perhaps the yearly, or more, revival that may eventually lead to comments without commitment.

    As may have been mentioned before, I have been involved with IBM (mainframe software development) and then PC based massively parallel software for 55 years as inventor and developer and also 60+ years as a ham. There is always a balance between profit leaders, loss leaders, innovation leaders, and the creditability reputation while marketing to contract customers.

    Here is hoping this topic will be accepted into one of those categories for realization. As mentioned earlier I see this a significant selling point to the military as it has previously shown reduction in interference (jamming?) signals. If the ham market cannot promote phased diversity perhaps reliable military reception can.

    p.s. John - what is the background that invoked your "Exempli Gratia" Latin insert? Most uncommon in this level of posting.

  • @Trucker from what I recall of the various FRS presentations I've watched (on their youtube channel, at the Ham Expo online thing coming up next week, etc) the answer is "basically all of it". Which makes sense and frankly I love it. I just wish (among many other things I wish FRS had time to do :) ) that there were some way we could push our own code to (parts of) the FPGA, for just such occasions. Definitely in the wishful thinking category though, there're several reasons (logistical, security, financial, licensing, legal...) that would be challenging at best. :) Not to shill for the expo, but even if you don't care for any of the content (which is ... variable) at $10 it's totally worth it for the 'hallway track' where you can often find Flex and other vendor engineers, support folks, etc hanging out. I got to spend maybe 75 minutes chatting with Bruna Begali and (more briefly) her father the mechanical engineer, and am now delighted to be learning CW on a pair of their keys.

    @Stan VA7NF My misspent youth included a few Latin courses. I'm a bit envious you got to work through the zenith of mainframe era; I wish IBM offered a homelabber-friendly instantiation of the Z platform. Something that'd run z/linux, support hot-swapping CPU/RAM/IO/... boards, and generally give you a SOHO/SOBO-scale 'mainframe experience' but without 100K of CAPEX and 10K in annual licensing fees. Not that it scratches the itch, but I'm curious if you have thoughts on what the folks at https://oxide.computer are doing?

  • haunsfro
    haunsfro Member
    I live in a high noise level area in Silicon Valley. Folks here have had good success reducing or almost eliminating it through antenna diversity/phasing.

    It would be great if my 6600M could do this. And it appears it might be capable of doing it if down the road based on what I have read above.

    Buying a $400 device and placing it inline to do this when I have a $5,000.00 radio here that could potentially do it is frustrating.

    I LOVE my 6600M! Flexradio engineers, please get this on the roadmap if it isn't already.

    -73
    Hauns KI0GU

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.