Hello, I am a software engineer but am new to DSP, except for college a long time ago. I have been reading The Scientist and Engineer's Guide to Digital Signal Processing, Steven W. Smith. I am trying to decode communications over a long cable to a well motor, that is digital at 10 bps, but may have ringing and noise and various frequencies. For example, without the motor running, there is ringing at about 10 Hz on the signal transitions, that makes reception difficult. I will try to clean up the signal some with a hardware filter, but this may not be enough. I read that windowed-sinc filters are very effective and can have a very sharp cutoff, but are not good when information encoded in the time domain, because of overshoot and ringing. So what would be a better filter? I have seen a hardware Bessel filter utilized to clean up such a signal. Any ideas on how to build one of these in software? I am using a PC to write my filter so computing power is not a problem. Thanks for any ideas Ron _____________________________ Posted through www.DSPRelated.com
Help with cleaning up noisy 10 bps communication
Started by ●August 12, 2014
Reply by ●August 12, 20142014-08-12
On Tue, 12 Aug 2014 09:56:07 -0500, BasicPoke wrote:> Hello, I am a software engineer but am new to DSP, except for college a > long time ago. I have been reading The Scientist and Engineer's Guide > to Digital Signal Processing, Steven W. Smith. I am trying to decode > communications over a long cable to a well motor, that is digital at 10 > bps, but may have ringing and noise and various frequencies. For > example, without the motor running, there is ringing at about 10 Hz on > the signal transitions, that makes reception difficult. > > I will try to clean up the signal some with a hardware filter, but this > may not be enough. I read that windowed-sinc filters are very effective > and can have a very sharp cutoff, but are not good when information > encoded in the time domain, because of overshoot and ringing. So what > would be a better filter? > > I have seen a hardware Bessel filter utilized to clean up such a signal. > Any ideas on how to build one of these in software? > > I am using a PC to write my filter so computing power is not a problem.If you had control over the source, a spread-spectrum modulation scheme may work better. If you have a continuous-time prototype filter, and you have the transfer function, then there are approximate transforms from the s domain to the z domain. Look in the index of your book for "bilinear transformation" -- if it's there (or in the table of contents) that should put you smack in the middle of the relevant section. Then you just need to have a Bessel transfer function in hand, and you can start experimenting. Your statement "*without the motor running*, there is ringing at about 10 Hz on the signal transitions" is ominous -- this implies to me at least that the characteristics of the line changes with the motor on vs. the motor off. You may find that you need two filters, and to switch. It should be your fervent hope that this is not the case. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
Reply by ●August 12, 20142014-08-12
long cable = transmission line, is it terminated in its charaterisitc impedance? what happens if it isn't? "ringing" at the data rate google intersymbol interference isi, and adaptive equalization Mark
Reply by ●August 12, 20142014-08-12
Tim Wescott wrote:> On Tue, 12 Aug 2014 09:56:07 -0500, BasicPoke wrote: > >> Hello, I am a software engineer but am new to DSP, except for college a >> long time ago. I have been reading The Scientist and Engineer's Guide >> to Digital Signal Processing, Steven W. Smith. I am trying to decode >> communications over a long cable to a well motor, that is digital at 10 >> bps, but may have ringing and noise and various frequencies. For >> example, without the motor running, there is ringing at about 10 Hz on >> the signal transitions, that makes reception difficult. >> >> I will try to clean up the signal some with a hardware filter, but this >> may not be enough. I read that windowed-sinc filters are very effective >> and can have a very sharp cutoff, but are not good when information >> encoded in the time domain, because of overshoot and ringing. So what >> would be a better filter? >> >> I have seen a hardware Bessel filter utilized to clean up such a signal. >> Any ideas on how to build one of these in software? >> >> I am using a PC to write my filter so computing power is not a problem. > > If you had control over the source, a spread-spectrum modulation scheme > may work better. > > If you have a continuous-time prototype filter, and you have the transfer > function, then there are approximate transforms from the s domain to the > z domain. Look in the index of your book for "bilinear transformation" > -- if it's there (or in the table of contents) that should put you smack > in the middle of the relevant section. Then you just need to have a > Bessel transfer function in hand, and you can start experimenting. > > Your statement "*without the motor running*, there is ringing at about 10 > Hz on the signal transitions" is ominous -- this implies to me at least > that the characteristics of the line changes with the motor on vs. the > motor off. You may find that you need two filters, and to switch. It > should be your fervent hope that this is not the case. >But does he actually have a hardware problem to solve first. His description shouts "voltage source with possible ground loop problems". If he has physical access to both ends, should a pair of 4-20mA transducers installed? OK, 40 yrs ago I worked for a transducer manufacturer and before that computers frequently used current loop driven KSR33's ;/ hth
Reply by ●August 12, 20142014-08-12
On Tue, 12 Aug 2014 10:50:48 -0500, Richard Owlett wrote:> Tim Wescott wrote: >> On Tue, 12 Aug 2014 09:56:07 -0500, BasicPoke wrote: >> >>> Hello, I am a software engineer but am new to DSP, except for college >>> a long time ago. I have been reading The Scientist and Engineer's >>> Guide to Digital Signal Processing, Steven W. Smith. I am trying to >>> decode communications over a long cable to a well motor, that is >>> digital at 10 bps, but may have ringing and noise and various >>> frequencies. For example, without the motor running, there is ringing >>> at about 10 Hz on the signal transitions, that makes reception >>> difficult. >>> >>> I will try to clean up the signal some with a hardware filter, but >>> this may not be enough. I read that windowed-sinc filters are very >>> effective and can have a very sharp cutoff, but are not good when >>> information encoded in the time domain, because of overshoot and >>> ringing. So what would be a better filter? >>> >>> I have seen a hardware Bessel filter utilized to clean up such a >>> signal. >>> Any ideas on how to build one of these in software? >>> >>> I am using a PC to write my filter so computing power is not a >>> problem. >> >> If you had control over the source, a spread-spectrum modulation scheme >> may work better. >> >> If you have a continuous-time prototype filter, and you have the >> transfer function, then there are approximate transforms from the s >> domain to the z domain. Look in the index of your book for "bilinear >> transformation" -- if it's there (or in the table of contents) that >> should put you smack in the middle of the relevant section. Then you >> just need to have a Bessel transfer function in hand, and you can start >> experimenting. >> >> Your statement "*without the motor running*, there is ringing at about >> 10 Hz on the signal transitions" is ominous -- this implies to me at >> least that the characteristics of the line changes with the motor on >> vs. the motor off. You may find that you need two filters, and to >> switch. It should be your fervent hope that this is not the case. >> >> > But does he actually have a hardware problem to solve first. His > description shouts "voltage source with possible ground loop problems". > If he has physical access to both ends, should a pair of 4-20mA > transducers installed? > OK, 40 yrs ago I worked for a transducer manufacturer and before that > computers frequently used current loop driven KSR33's ;/Given that he called out a baud rate I'm assuming that he's adopting existing hardware. But yes, implementing elaborate signal processing solutions to basic hardware problems aren't always the best system-level decisions. Ron: some more information would be appreciated, here! -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Reply by ●August 12, 20142014-08-12
On Tue, 12 Aug 2014 09:56:07 -0500, "BasicPoke" <101269@dsprelated> wrote:>Hello, I am a software engineer but am new to DSP, except for college a >long time ago. I have been reading The Scientist and Engineer's Guide to >Digital Signal Processing, Steven W. Smith. I am trying to decode >communications over a long cable to a well motor, that is digital at 10 >bps, but may have ringing and noise and various frequencies. For example, >without the motor running, there is ringing at about 10 Hz on the signal >transitions, that makes reception difficult. > >I will try to clean up the signal some with a hardware filter, but this may >not be enough. I read that windowed-sinc filters are very effective and >can have a very sharp cutoff, but are not good when information encoded in >the time domain, because of overshoot and ringing. So what would be a >better filter? > >I have seen a hardware Bessel filter utilized to clean up such a signal. >Any ideas on how to build one of these in software? > >I am using a PC to write my filter so computing power is not a problem. > >Thanks for any ideas >RonAs others have mentioned, first try to make certain that the line is properly terminated (on both ends if it is bi-directional). Also, take a look at the line when there is no data transmission, preferrably with the motor on and off, so see if there is interference energy that could be potentially tracked down and reduced. Once all of that is done as well as can be, the best performance will be with a "matched" filter at the receiver, and the matching has to do with how the signal is modulated and transmitted. Do you have control over that or are you just trying to interface to an existing system? For example, if the modulator transmits rectangular pulses and those are pretty much unfiltered when they make it on to the line, then the "matched" filter in the demodulator is an integrate-and-dump filter. On the other hand, if there is pulse shaping done in the transmitter, then the receiver needs to have a filter that "matches" whatever is used in the Tx. If terminating and interference mitigation doesn't fix the ringing, you may need an equalizer (maybe even an adaptive one) in the receiver to get the best performance. Passive equalizers can be made and tuned by hand, but it's a bit of a pain and requires some skill. You haven't mentioned what sort of resources you have to work with or what your system constraints might be. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
Reply by ●August 12, 20142014-08-12
On Tue, 12 Aug 2014 16:32:02 +0000, Eric Jacobsen wrote:> On Tue, 12 Aug 2014 09:56:07 -0500, "BasicPoke" <101269@dsprelated> > wrote: > >>Hello, I am a software engineer but am new to DSP, except for college a >>long time ago. I have been reading The Scientist and Engineer's Guide >>to Digital Signal Processing, Steven W. Smith. I am trying to decode >>communications over a long cable to a well motor, that is digital at 10 >>bps, but may have ringing and noise and various frequencies. For >>example, without the motor running, there is ringing at about 10 Hz on >>the signal transitions, that makes reception difficult.<< snip >>> If terminating and interference mitigation doesn't fix the ringing, you > may need an equalizer (maybe even an adaptive one) in the receiver to > get the best performance. Passive equalizers can be made and tuned by > hand, but it's a bit of a pain and requires some skill. > > You haven't mentioned what sort of resources you have to work with or > what your system constraints might be.Fixed-tune equalizers have the distinct weakness that they only work for the particular circumstance that they are tuned for -- so if the characteristics change (say, when the motor comes on) then they break, and if the characteristics differ from unit to unit (say one pump on a 100 foot wire vs. another on a 10 mile wire) then they need to be fiddled with at installation time. Adaptive equalizers need time to tune, and can do some oddball stuff to the unwary. You definitely want to start by seeing if you can rearrange the physical world so that an equalizer is unnecessary. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Reply by ●August 12, 20142014-08-12
Those are some great ideas, thanks guys. I should have known about the termination with characteristic impedance, but did not occur to me. I will have to check this out, as I'm not the hardware guy on this. I need to figure out how much detail I can go into without getting into trouble. We have control of the hardware on both ends of the cable, but generally not control over the cable and motor. Not sure how the characteristics change with the motor on, but I know there is lots of noise at various frequencies. Ron _____________________________ Posted through www.DSPRelated.com
Reply by ●August 12, 20142014-08-12
On Tuesday, August 12, 2014 12:48:56 PM UTC-4, BasicPoke wrote:> Those are some great ideas, thanks guys. I should have known about the > > termination with characteristic impedance, but did not occur to me. I will > > have to check this out, as I'm not the hardware guy on this. I need to > > figure out how much detail I can go into without getting into trouble. > > > > We have control of the hardware on both ends of the cable, but generally > > not control over the cable and motor. Not sure how the characteristics > > change with the motor on, but I know there is lots of noise at various > > frequencies. > > Ron > >So this brings up a question I have tried to raise here beofre. And nothing personal to Ron, this is a generic issue. It seems clear Ron's task is in a professional setting, i.e. his empoyer is paying him to figure this out. I'd like to hear a discussion about "giving away" this kind of information given the job market we are in. If Ron were not able to come here and get this kind of help for free, Ron's employer might have to hire one of us. This issue was brought up often the the alt.hvac group where the professional hvac guys would, shall we say, respond in a very impolite fashion, to "homeowners" looking for free help. And after thinking about it, I think they may have a point. I'd like to hear other opinions about giving away knowledge of one's craft. I like information to be free, but I also like to be paid for my expertiese. How do we balance these? Again, sorry Ron, I used your particular question as an example, nothing personal. Mark
Reply by ●August 12, 20142014-08-12
On Tue, 12 Aug 2014 10:11:27 -0700 (PDT), makolber@yahoo.com wrote:>On Tuesday, August 12, 2014 12:48:56 PM UTC-4, BasicPoke wrote: >> Those are some great ideas, thanks guys. I should have known about the >>=20 >> termination with characteristic impedance, but did not occur to me. I wi= >ll >>=20 >> have to check this out, as I'm not the hardware guy on this. I need to >>=20 >> figure out how much detail I can go into without getting into trouble. >>=20 >>=20 >>=20 >> We have control of the hardware on both ends of the cable, but generally >>=20 >> not control over the cable and motor. Not sure how the characteristics >>=20 >> change with the motor on, but I know there is lots of noise at various >>=20 >> frequencies. >>=20 >> Ron =20 >>=20 >>=20 > > >So this brings up a question I have tried to raise here beofre. >And nothing personal to Ron, this is a generic issue. > >It seems clear Ron's task is in a professional setting, i.e. his empoyer = >is paying him to figure this out. I'd like to hear a discussion about "giv= >ing away" this kind of information given the job market we are in. If Ron = >were not able to come here and get this kind of help for free, Ron's employ= >er might have to hire one of us.=20 > >This issue was brought up often the the alt.hvac group where the profession= >al hvac guys would, shall we say, respond in a very impolite fashion, to = >"homeowners" looking for free help. And after thinking about it, I think t= >hey may have a point.=20 > >I'd like to hear other opinions about giving away knowledge of one's craft.= >=20 >I like information to be free, but I also like to be paid for my expertiese= >. How do we balance these? > >Again, sorry Ron, I used your particular question as an example, nothing pe= >rsonal. > >MarkI answered this for myself a long time ago, so I'll share my point of view FWIW. Everybody here can share information as they see fit to whomever they see fit. So, basically, it's everybody's individual personal choice to decide what they will or will not share or how to respond to an inquiry. There have been many, many times when I've refrained from going into detail on a response for a number of different reasons. Clearly nobody should improperly share proprietary information (e.g., "my employer spent years and a lot of $$ figuring out this trade secret that solved your problem, so I can't share it here"), and, as you mention, sometimes there is "professional" information or information that you just don't want to give away for whatever reason. Those reasons can be professional or personal or a total whim, it doesn't matter, it's your choice to share or not. Sometimes there are the cases where you might feel like you're hurting your own business or employer or industry by giving things out too easily, and I think that's legitimate. I don't however, think it's legitimate to use it as a stick to beat people with. If I don't want to share something, but somebody else does, that's fine, that's their choice. I don't share the view that comp.dsp, or other parts of usenet, or most internet forums exist solely for professionals or vendors or contractors to promote themselves and solicit business (and there have been some here who clearly thought that was the case, said as much, and treated people horribly). So if somebody here, or an hvac pro, wants to berate people just for asking questions, I think that's really, really poor form. We've all been noobs at some point, and it's usually possible to help somebody or send them in the right direction, or at least help them not make a bad mistake, without violating any disclosure issues or hurting your own business. Sometimes it's possible to go into great detail on a method or solution, too, so often there's no barrier to doing that. I think it still boils down to a personal choice, though. For the most part, I think the sort of people who hang out on comp.dsp are already the sort of people that are willing to help at least a certain amount, or it wouldn't exist as it does. I've asked questions here before that had to do with solving work-related problems, and I've helped others on the same. I don't see an issue with it within obvious limits (e.g., "do this job for me" doesn't fly), and I think this is the basic fundamental purpose of usenet and many other internet forums. I think it'll be a very sad day if it ever gets to where people are never willing to help each other to some degree unless money changes hands. I hope it never gets to that point. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com






