Loading ...
Sorry, an error occurred while loading the content.

RE: [perseus_SDR] Re: AM Splatter Rejection vs. MW Co-channel Interference Suppression

Expand Messages
  • Guy Atkins
    Nico: Ouch! You have made my head hurt with so much mathematical description. I think I had better make myself an Italian soda to make it feel better. If that
    Message 1 of 11 , Jul 3, 2008
    • 0 Attachment
      Nico:
       
      Ouch! You have made my head hurt with so much mathematical description. I think I had better make myself an Italian soda to make it feel better. If that doesn't work, I'll move on to Barbaresco  :^)
       
      Thanks for the description, and I hope to see the co-channel interference surpressor in a future Perseus version sometime.
       
      73,
       
      Guy
       
       
      -----Original Message-----
      From: perseus_SDR@yahoogroups.com [mailto:perseus_SDR@yahoogroups.com]On Behalf Of Nico iv3nwv
      Sent: Thursday, July 03, 2008 5:33 PM
      To: perseus_SDR@yahoogroups.com
      Subject: [perseus_SDR] Re: AM Splatter Rejection vs. MW Co-channel Interference Suppression

      Hi, Guy.
      The AM Splatter Rejection has nothing to do with my earlier tests with
      co-channel interferers. The AM Splatter Rejection algorithm is very
      simple (but quite useless, imho). I've just added it to the Perseus
      software so that users could experience what can be done and what cannot.
      The co-channel interference suppressor, instead, is something I
      believe much more. Some time ago Leif Asbrink has already demonstrated
      the results on this group with its original developments using a PLL
      which locks to the carrier of (one of) the interferers.
      What I've thought for long is something quite different and not based
      on PLLs at all. Unfortunately it is much more complex from the
      algorithmic point of view, probably much more demanding in terms of
      CPU usage and finally it requires some nice algebra operations like
      i.e. the diagonalization of a large matrix, finding its eigenvalues
      and eigenvectors, and finding the (complex) roots of a polynomial of
      high degree. All of these functions are already implemented in matlab,
      so it has been quite easy for me to make some tests in short time. But
      unfortunately for real time users this algebra is not readily
      available in Windows C++ libraries. I passed more than one night
      studying practical algorithms for the Schur matrix decomposition
      (which has the interesting application of solving iteratively for the
      roots of a polynomial), or for a more simple real time diagonalization
      of an hermitian matrix (for which I already wrote a variation on the
      classical Jacobi method in matlab language) but, uhm uhm, the complete
      real time implementation of what I conceived is not easy at all, at
      least for a 47 years old EE like me (neurons have a shorter life, you
      know).
      Furthermore I'm not sure that I will get results better than those
      Leif got with a more simple technique. I would like to, of course, but
      I'm not yet in the position to say if this will really happen or not.

      > Is there still the possibility we will see a co-channel
      > MW supression tool, to help audibly separate stations on the same
      > nominal frequency?

      I would not miss it.

      Nico

    • Leif Asbrink
      Hi Nico, ... Hmmm, it is not a PLL, it is just a narrow filter that filters out the carrier of one of the stations in case the carriers are well enough
      Message 2 of 11 , Jul 4, 2008
      • 0 Attachment
        Hi Nico,

        > Some time ago Leif Asbrink has already demonstrated
        > the results on this group with its original developments using a PLL
        > which locks to the carrier of (one of) the interferers.
        Hmmm, it is not a PLL, it is just a narrow filter that
        filters out the carrier of one of the stations in case
        the carriers are well enough separated. When carriers are more
        close spaced the filter lets them all through and uses
        the phase of the total signal, a sum of two or more carriers.
        In contrast to a PLL, the phase of the sum will behave
        nicely when the sum goes through zero. Phase inversions
        can happen when two carriers have opposite phase and equal
        amplitude but the real merit of the method is in EME
        (using the moon as a reflector) where libration fading
        causes phase inversions.

        > What I've thought for long is something quite different and not based
        > on PLLs at all. Unfortunately it is much more complex from the
        > algorithmic point of view, probably much more demanding in terms of
        > CPU usage and finally it requires some nice algebra operations like
        > i.e. the diagonalization of a large matrix, finding its eigenvalues
        > and eigenvectors, and finding the (complex) roots of a polynomial of
        > high degree. All of these functions are already implemented in matlab,
        > so it has been quite easy for me to make some tests in short time. But
        > unfortunately for real time users this algebra is not readily
        > available in Windows C++ libraries. I passed more than one night
        > studying practical algorithms for the Schur matrix decomposition
        > (which has the interesting application of solving iteratively for the
        > roots of a polynomial), or for a more simple real time diagonalization
        > of an hermitian matrix (for which I already wrote a variation on the
        > classical Jacobi method in matlab language) but, uhm uhm, the complete
        > real time implementation of what I conceived is not easy at all, at
        > least for a 47 years old EE like me (neurons have a shorter life, you
        > know).
        The Jacobi method is extremely slow. I think you can find
        something better here:
        http://portal.acm.org/citation.cfm?id=802259&coll=portal&dl=ACM

        I had a fortran program that did QR Triangularizations, and Householders'
        Tridiagonalization to replace a Jacobi method and found the time
        difference VERY large. This was more than 30 years ago but I did
        transfer the card decks to a PC at the time when the clock frequency
        was 8 MHz and it worked reasonably well with matrices up to
        50x50 provided one had a math co-processor. I may be able to locate it
        on some very old hard disk (if it still works) but presumably
        you can find a modern version somewhere pretty easily.

        > Furthermore I'm not sure that I will get results better than those
        > Leif got with a more simple technique. I would like to, of course, but
        > I'm not yet in the position to say if this will really happen or not.
        It should be possible. Our brains can do it when supplied with a
        true stereo signal! The two stations seem to be located in different
        spatial directions so our brain can choose which one to hear better.
        There must be mathematics for that - I am just too ignorant...


        Regards

        Leif / SM5BSZ
      • Nico iv3nwv
        Hi Leif, ... Pretty nice idea. A filter at least does not unlock so easily :-) ... Householders ... Yes, I ve also played with the QR algorithm, householder
        Message 3 of 11 , Jul 4, 2008
        • 0 Attachment
          Hi Leif,

          > Hmmm, it is not a PLL, it is just a narrow filter that
          > filters out the carrier of one of the stations in case
          > the carriers are well enough separated. When carriers are more
          > close spaced the filter lets them all through and uses
          > the phase of the total signal, a sum of two or more carriers.
          > In contrast to a PLL, the phase of the sum will behave
          > nicely when the sum goes through zero. Phase inversions
          > can happen when two carriers have opposite phase and equal
          > amplitude but the real merit of the method is in EME
          > (using the moon as a reflector) where libration fading
          > causes phase inversions.

          Pretty nice idea. A filter at least does not unlock so easily :-)

          > The Jacobi method is extremely slow. I think you can find
          > something better here:
          > http://portal.acm.org/citation.cfm?id=802259&coll=portal&dl=ACM
          >
          > I had a fortran program that did QR Triangularizations, and
          Householders'
          > Tridiagonalization to replace a Jacobi method and found the time
          > difference VERY large.

          Yes, I've also played with the QR algorithm, householder
          transformations and tridiagonalization, but not so much, just used
          them step-by-step to divide the problem in smaller ones ("divide et
          imperat" Romans were used to say). Anyway I got stuck by the fact that
          all of this do not converge fastly when the matrix eigenvalues have a
          particular distribution unless the right "shift algorithm" is used.
          I need to play some more with them.

          > This was more than 30 years ago but I did
          > transfer the card decks to a PC at the time when the clock frequency
          > was 8 MHz and it worked reasonably well with matrices up to
          > 50x50 provided one had a math co-processor. I may be able to locate it
          > on some very old hard disk (if it still works) but presumably
          > you can find a modern version somewhere pretty easily.

          There should be some library derived from LAPACK somewhere around, but
          I've found their APIs quite complicate (and more in Windows OSs).
          Furthermore, they are quite generic packages and are not optimized
          (nor it would be possible to optimize them) for the specific case.
          If you locate your old package I would be glad to give it a look.
          I don't need such large matrixes, just something like 10x10.

          > There must be mathematics for that - I am just too ignorant...

          I've got a friend.

          Nico
        • Leif Asbrink
          Hi Nico, ... Correct:-) When the signal goes through zero, the phase will be undetermined for a very short time only. With a narrow PLL bandwidth corresponding
          Message 4 of 11 , Jul 4, 2008
          • 0 Attachment
            Hi Nico,

            > Pretty nice idea. A filter at least does not unlock so easily :-)
            Correct:-)

            When the signal goes through zero, the phase will be
            undetermined for a very short time only. With a narrow
            PLL bandwidth corresponding to the narrow filters one should use
            to have a defined phase over long times, the phase would have to
            drift slowly all the way from 0 to 180 degrees and become
            incorrect (90 degrees out) for quite some time. A PLL simply
            does not work in recovering AM (=Morse coded CW) on the EME path

            > Yes, I've also played with the QR algorithm, householder
            > transformations and tridiagonalization, but not so much, just used
            > them step-by-step to divide the problem in smaller ones ("divide et
            > imperat" Romans were used to say). Anyway I got stuck by the fact that
            > all of this do not converge fastly when the matrix eigenvalues have a
            > particular distribution unless the right "shift algorithm" is used.
            > I need to play some more with them.
            >
            > > This was more than 30 years ago but I did
            > > transfer the card decks to a PC at the time when the clock frequency
            > > was 8 MHz and it worked reasonably well with matrices up to
            > > 50x50 provided one had a math co-processor. I may be able to locate it
            > > on some very old hard disk (if it still works) but presumably
            > > you can find a modern version somewhere pretty easily.
            >
            > There should be some library derived from LAPACK somewhere around, but
            > I've found their APIs quite complicate (and more in Windows OSs).
            > Furthermore, they are quite generic packages and are not optimized
            > (nor it would be possible to optimize them) for the specific case.
            > If you locate your old package I would be glad to give it a look.
            > I don't need such large matrixes, just something like 10x10.
            The attached file is a simple and fast replacement for a Jacobi
            procedure that I wrote somewhere around 1975. I did not find any
            of the old molecular physics stuff on either one of the two really old
            hard disks I still have, but as it turns out I used this routine
            (SOLVE.FOR) in an antenna optimization program (YOLIN) so it is
            safely on the Internet since many years :-)


            > > There must be mathematics for that - I am just too ignorant...
            >
            > I've got a friend.
            :-)

            But your ideas that lead to a 10x10 matrix might be interesting to me.
            I hope we will get some time to discuss it at the EME meeting in
            Florence next month:-)

            73

            Leif / SM5BSZ
          • Nico iv3nwv
            ... The idea is based on an algorithm which was meant for other purposes and published something like tweny years ago on the IEEE Transactions on antenna and
            Message 5 of 11 , Jul 5, 2008
            • 0 Attachment
              Leif Asbrink wrote:

              > But your ideas that lead to a 10x10 matrix might be interesting to me.
              > I hope we will get some time to discuss it at the EME meeting in
              > Florence next month:-)

              The idea is based on an algorithm which was meant for other purposes
              and published something like tweny years ago on the IEEE Transactions
              on antenna and propagation, nothing really new for specialists. But
              it's amazing and outperforms other spectral estimation techniques
              (i.e. FFT based), at least in some practical cases.

              I'll bring a copy of the original paper at the EME conference in
              Florence so that we can discuss what came into my mind.

              73
              Nico
            • Leif Asbrink
              Hi Nico, ... Amazing. I would have thought that something based on FFTs would be far more efficient:-) ... Very good. I look forward to that! 73 Leif
              Message 6 of 11 , Jul 6, 2008
              • 0 Attachment
                Hi Nico,

                > The idea is based on an algorithm which was meant for other purposes
                > and published something like tweny years ago on the IEEE Transactions
                > on antenna and propagation, nothing really new for specialists. But
                > it's amazing and outperforms other spectral estimation techniques
                > (i.e. FFT based), at least in some practical cases.
                Amazing. I would have thought that something based on FFTs would
                be far more efficient:-)

                > I'll bring a copy of the original paper at the EME conference in
                > Florence so that we can discuss what came into my mind.
                Very good. I look forward to that!

                73

                Leif
              • Nico iv3nwv
                ... And it is, at least from the computational point of view. But given a data samples block length, you can estimate the frequency of one or more sinusoidal
                Message 7 of 11 , Jul 6, 2008
                • 0 Attachment
                  Leif Asbrink wrote:

                  > I would have thought that something based on FFTs would
                  > be far more efficient:-)

                  And it is, at least from the computational point of view.
                  But given a data samples block length, you can estimate the frequency
                  of one or more sinusoidal tones with methods which offer a much better
                  frequency resolution than FFTs.

                  Nico
                • Leif Asbrink
                  Hi Nico, ... This I find really hard to believe assuming, of course, that there is also significant amounts of random noise. 73 Leif
                  Message 8 of 11 , Jul 6, 2008
                  • 0 Attachment
                    Hi Nico,

                    > > I would have thought that something based on FFTs would
                    > > be far more efficient:-)
                    >
                    > And it is, at least from the computational point of view.
                    > But given a data samples block length, you can estimate the frequency
                    > of one or more sinusoidal tones with methods which offer a much better
                    > frequency resolution than FFTs.

                    This I find really hard to believe assuming, of course,
                    that there is also significant amounts of random noise.

                    73

                    Leif
                  • Nico iv3nwv
                    Hi Leif, ... The variance of the estimate depends upone the carrier(s) to noise ratio, of course.
                    Message 9 of 11 , Jul 6, 2008
                    • 0 Attachment
                      Hi Leif,

                      > > > I would have thought that something based on FFTs would
                      > > > be far more efficient:-)
                      > >
                      > > And it is, at least from the computational point of view.
                      > > But given a data samples block length, you can estimate the frequency
                      > > of one or more sinusoidal tones with methods which offer a much better
                      > > frequency resolution than FFTs.
                      >
                      > This I find really hard to believe assuming, of course,
                      > that there is also significant amounts of random noise.

                      The variance of the estimate depends upone the carrier(s) to noise
                      ratio, of course.
                    Your message has been successfully submitted and would be delivered to recipients shortly.