DSPRelated.com
Forums

Adaptive Filter for Binary Signal?

Started by jerothb December 1, 2010
You are clearly a business man of the highest order.

On Dec 1, 3:27=A0pm, Vladimir Vassilevsky <nos...@nowhere.com> wrote:
> I see. You are interested in anyone doing your work for free. Fuck off. >

jerothb wrote:

> You are clearly a business man of the highest order. > > On Dec 1, 3:27 pm, Vladimir Vassilevsky <nos...@nowhere.com> wrote: > >>I see. You are interested in anyone doing your work for free. Fuck off. >> > >
On 12/01/2010 12:09 PM, jerothb wrote:
(top posting fixed)
> On Dec 1, 3:03 pm, Vladimir Vassilevsky<nos...@nowhere.com> wrote: >> Not to worry. It is you who is the idiot. Filters are agnostic to the >> waveform. >> >> VLV
> Then why does it work so poorly? I'm just trying to come up with a > mathematical reason. Yes, it lowers the MSE, as it should, but who > cares? The BER is still crap. > > Also, I would not even call this a waveform. These are NOT pulses of > x-sample length. These are literally random samples of either 1 or > -1. OK, then, let's set up the problem the way you want it set up: I have a _known binary signal_. I send it over a channel, and I want to build an adaptive channel equalizer to clean it up. Why do I want to clean it up? So I can demodulate it. Why do I want to demodulate it? So I can know it. But don't I already know it? Uh oh. Your instructor is trying to take you from the easier problem (channel estimation & equalization with a known input) to the real-world (or at least more real world) problem (channel estimation & equalization with an input that you'd like to know). Instead of saying "I don't understand this, therefore my instructor is full of crap", try saying "I don't understand this, therefore I need to ask where my instructor is going". -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On 12/01/2010 12:20 PM, jerothb wrote:
(top posting fixed)
>> Consider, too, that the point of an adaptive filter in this context is >> that you don't have a clue what the channel distortion is before you >> design the system. Because a Wiener filter demands prior knowledge of >> the channel, you cannot, by definition, design it ahead of time.
> > Well, it requires the autocorrelation matrix of the input, and the > cross-correlation of the input and the desired signal. All of this, I > do have. That's where the knowledge of the channel is taken from. > > Create the correlation matrix of the input signal, u(n): > > r=xcorr(u,M-1); > r=r(M:end); > R=toeplitz(r, conj(r)); > > then create the cross-correlation vector between the signal u(n), and > the desired signal d(n): > > p=xcorr(u,d,M-1); > p=p(M:end); > > so the wiener filter coefficients are simply > > w = (R^-1)*p; > > then I just do > > estimate = conv(w,u); > > Am I wrong? Not at this part, no. > I mean this is simple, and the wiener filter is the > optimum benchmark. But since the BER didn't lower, the recursive > algorithms aren't going to do anything better. Oh my gawd! I'm being taught addition and the problem says I have 33 apples in one box, and 89 apples in another, and how many is that in total. But I don't like apples! And I only eat one orange a day anyway! So this'll never be useful!!!!! (gosh, I sure wonder if I need to go buy more oranges -- too bad I'm not being given the tools to do that job). A little bit of independent exercise of your brain cells will tell you that a BER of 0.48 means that the noise is overwhelming the signal almost entirely (quick, what's the BER for completely random data?). In that case, a reduction in BER from 0.48 to 0.475 is actually a pretty good thing, even if the system as it stands may still be useful (or, with enough FEC, it may go from useless to exceeding spec). Re-read my comments on problem construction, then make yourself a problem with lower noise (and hence lower BER), and see if adaptive filtering helps. If I were your instructor I would have done reams of math trying to get it right, then slipped a digit and gotten the noise power off by a factor of 10 or something simple like that. Double check and see if that's not the case here. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
> Your instructor is trying to take you from the easier problem (channel > estimation & equalization with a known input) to the real-world (or at > least more real world) problem (channel estimation & equalization with > an input that you'd like to know).
no, you are absolutely wrong. I said we have the desired signal, which we CAN use. We are NOT doing blind equalization. And equalization with a known input is perfectly common in the "real- world". I.e. training sequences.
> Instead of saying "I don't understand this, therefore my instructor is > full of crap", try saying "I don't understand this, therefore I need to > ask where my instructor is going".
I never said he's full of crap. I'm just trying to get down to the math of this. Why does the Wiener filter work so poorly on binary data? Like I said, I used the SAME filter on audio, and it cleaned up the signal dramatically. If you don't want to help with this question, don't bother answering again.
>A little bit of independent exercise of your brain cells will tell you >that a BER of 0.48 means that the noise is overwhelming the signal >almost entirely (quick, what's the BER for completely random data?). In >that case, a reduction in BER from 0.48 to 0.475 is actually a pretty >good thing, even if the system as it stands may still be useful (or, >with enough FEC, it may go from useless to exceeding spec).
You are assuming I'm an idiot. If you have the entire desired signal at your disposal, and the Weiner filter uses that information, it sure as hell better increase that BER dramatically. .48 to .475 is crap. This is a toy problem.... and it's not working. That's why I began to suspect the nature of random binary data, as opposed to stuff like an AR process which the book uses. (or audio, like I experimented with) I guess you would like it better if I have blind complete faith in the instructor and question nothing. I don't mean it as an insult to any instructor, but I always question them, and am perfectly aware they make mistakes. I can just as well be wrong, but that's fine. Yes, I know random noise would have BER=0.5. That was sort of my point. Why so condescending? Yes, I do hear your suggestion of trying it on less distorted signal. And I will try it, but seriously, you don't have to be such an asshole.
On 12/01/2010 01:03 PM, jerothb wrote:
>> Your instructor is trying to take you from the easier problem (channel >> estimation& equalization with a known input) to the real-world (or at >> least more real world) problem (channel estimation& equalization with >> an input that you'd like to know). > > no, you are absolutely wrong. I said we have the desired signal, > which we CAN use. We are NOT doing blind equalization. > > And equalization with a known input is perfectly common in the "real- > world". I.e. training sequences. > >> Instead of saying "I don't understand this, therefore my instructor is >> full of crap", try saying "I don't understand this, therefore I need to >> ask where my instructor is going". > > I never said he's full of crap. > > I'm just trying to get down to the math of this. Why does the Wiener > filter work so poorly on binary data? > > Like I said, I used the SAME filter on audio, and it cleaned up the > signal dramatically. > > If you don't want to help with this question, don't bother answering > again. > >> A little bit of independent exercise of your brain cells will tell you >> that a BER of 0.48 means that the noise is overwhelming the signal >> almost entirely (quick, what's the BER for completely random data?). In >> that case, a reduction in BER from 0.48 to 0.475 is actually a pretty >> good thing, even if the system as it stands may still be useful (or, >> with enough FEC, it may go from useless to exceeding spec). > > You are assuming I'm an idiot. If you have the entire desired signal > at your disposal, and the Weiner filter uses that information, it sure > as hell better increase that BER dramatically. .48 to .475 is crap. > > This is a toy problem.... and it's not working. That's why I began > to suspect the nature of random binary data, as opposed to stuff like > an AR process which the book uses. (or audio, like I experimented > with) > > I guess you would like it better if I have blind complete faith in the > instructor and question nothing. I don't mean it as an insult to any > instructor, but I always question them, and am perfectly aware they > make mistakes. I can just as well be wrong, but that's fine. > > Yes, I know random noise would have BER=0.5. That was sort of my > point. > > Why so condescending? Yes, I do hear your suggestion of trying it on > less distorted signal. And I will try it, but seriously, you don't > have to be such an asshole.
Well, so far two people have tried to help you, you've gotten attitudinal feedback from both of them, and you've told them both to shove it. That's a 100% score! Plonk. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html

jerothb wrote:

>>Your instructor is trying to take you from the easier problem (channel >>estimation & equalization with a known input) to the real-world (or at >>least more real world) problem (channel estimation & equalization with >>an input that you'd like to know). > > > no, you are absolutely wrong. I said we have the desired signal, > which we CAN use. We are NOT doing blind equalization. > > And equalization with a known input is perfectly common in the "real- > world". I.e. training sequences. > > >>Instead of saying "I don't understand this, therefore my instructor is >>full of crap", try saying "I don't understand this, therefore I need to >>ask where my instructor is going". > > > I never said he's full of crap. > > I'm just trying to get down to the math of this. Why does the Wiener > filter work so poorly on binary data? > > Like I said, I used the SAME filter on audio, and it cleaned up the > signal dramatically. > > If you don't want to help with this question, don't bother answering > again. > > >>A little bit of independent exercise of your brain cells will tell you >>that a BER of 0.48 means that the noise is overwhelming the signal >>almost entirely (quick, what's the BER for completely random data?). In >>that case, a reduction in BER from 0.48 to 0.475 is actually a pretty >>good thing, even if the system as it stands may still be useful (or, >>with enough FEC, it may go from useless to exceeding spec). > > > You are assuming I'm an idiot. If you have the entire desired signal > at your disposal, and the Weiner filter uses that information, it sure > as hell better increase that BER dramatically. .48 to .475 is crap. > > This is a toy problem.... and it's not working. That's why I began > to suspect the nature of random binary data, as opposed to stuff like > an AR process which the book uses. (or audio, like I experimented > with) > > I guess you would like it better if I have blind complete faith in the > instructor and question nothing. I don't mean it as an insult to any > instructor, but I always question them, and am perfectly aware they > make mistakes. I can just as well be wrong, but that's fine. > > Yes, I know random noise would have BER=0.5. That was sort of my > point. > > Why so condescending? Yes, I do hear your suggestion of trying it on > less distorted signal. And I will try it, but seriously, you don't > have to be such an asshole.
I'm not telling you to shove it, although you did pretty much tell me
to. I just don't see the point of being so condescending.

As for Vladimir, yes he can shove it.  He's just trying to sell his
crap.... about as effectively as an obese man selling fitness training
sessions, but whatever.

I just wanted to get a discussion going....  but obviously I came to
the wrong place.


> > Well, so far two people have tried to help you, you've gotten > attitudinal feedback from both of them, and you've told them both to > shove it. > > That's a 100% score! > > Plonk. > > -- > > Tim Wescott > Wescott Design Serviceshttp://www.wescottdesign.com > > Do you need to implement control loops in software? > "Applied Control Theory for Embedded Systems" was written for you. > See details athttp://www.wescottdesign.com/actfes/actfes.html

jerothb wrote:

> I'm not telling you to shove it, although you did pretty much tell me > to. I just don't see the point of being so condescending. > > As for Vladimir, yes he can shove it. He's just trying to sell his > crap.... about as effectively as an obese man selling fitness training > sessions, but whatever. > > I just wanted to get a discussion going.... but obviously I came to > the wrong place. > > > >>Well, so far two people have tried to help you, you've gotten >>attitudinal feedback from both of them, and you've told them both to >>shove it. >> >>That's a 100% score! >> >>Plonk. >> >>-- >> >>Tim Wescott >>Wescott Design Serviceshttp://www.wescottdesign.com >> >>Do you need to implement control loops in software? >>"Applied Control Theory for Embedded Systems" was written for you. >>See details athttp://www.wescottdesign.com/actfes/actfes.html > >
On Dec 1, 3:33=A0pm, Vladimir Vassilevsky <nos...@nowhere.com> wrote:
> jerothb wrote: > > You are clearly a business man of the highest order. > > > On Dec 1, 3:27 pm, Vladimir Vassilevsky <nos...@nowhere.com> wrote: > > >>I see. You are interested in anyone doing your work for free. Fuck off.