DSPRelated.com
Forums

Newbie: System Performance

Started by Barry June 4, 2004
Hi all,

I have a signal of the following form -

S(t) = A*cos(B*cos(2*PI*FM*t) + C*cos(2*PI*SF*t))

FM is the modulation frequency, and SF the signal frequency. I have
written an algorithm to extract C*cos(2*PI*SF) from S(t) above. The
algorithm is implemented on the C6711, and I use a 16 bit ADC to
digitalize S(t).

I'd like to carry out an analysis as to how accurate my algorithm is.
For example, I use 3 FIR filters, 1024 in length, and when A and B
above are 1, I can detect signals of amplitude C=0.01 accurately (a
linear FFT shows no harmonics other than at SF). But when C=0.001, I
get a slight ripple added to my demodulated signal because the filters
are not suppressing the carrier harmonics enough. I would therefore
like a way of expressing how accurate my demodulation scheme is for
various values of C above.

How might I do this? I could create a 16bit version of -

cos(cos(2*PI*FM*t) + C*cos(2*PI*SF*t))

and compare it's demodulation with a floating point version of
C*cos(2*PI*SF*t), over the period 1/SF. But how should I do the
comparison exactly?

Any other ideas for establishing the performance of my system? How
might I establish my quanization noise? Again I could perform the
demodulation technique on a floating point version of -

cos(cos(2*PI*FM*t) + C*cos(2*PI*SF*t))

and it's 16-bit fixed bit version. And compare the two. But compare
how exactly?

Thanks very much for your help,

Barry.
If I correlate -

PI/200.0*cos(2*PI/80)

with itself over one period, I get a peak value of -

0.009869604

If I correlate it with my signal after demodulation I get a peak of -

0.009924131

Based on this, how can I express the accuracy of my demodulated signal
when D = PI/200?

Their ratio is 99.45%, but I'm guessing its not correct to describe
the accuracy this way.

When D = PI/2000, autocorrelation gives a peak of -
 
9.8696E-05

and cross correlation with my demodulated signal gives -

9.65007E-05

Thanks for your help. 

These are my two signals, D=PI/200 and D=PI/2000 respectfully -

0.01543
0.015416
0.015309
0.015105
0.014802
0.014339
0.013782
0.013137
0.012414
0.01168
0.010877
0.010005
0.009065
0.008
0.006879
0.005715
0.004517
0.003357
0.002179
0.000986
-0.000219
-0.001492
-0.002762
-0.004017
-0.005245
-0.006374
-0.007462
-0.008506
-0.009503
-0.010511
-0.01146
-0.01234
-0.013142
-0.013797
-0.014365
-0.014846
-0.015241
-0.015612
-0.015892
-0.016076
-0.016159
-0.016076
-0.015892
-0.015612
-0.015241
-0.014846
-0.014365
-0.013798
-0.013143
-0.012341
-0.011461
-0.010512
-0.009504
-0.008507
-0.007463
-0.006375
-0.005245
-0.004018
-0.002763
-0.001493
-0.00022
0.000985
0.002179
0.003357
0.004516
0.005714
0.006879
0.007999
0.009064
0.010004
0.010876
0.01168
0.012414
0.013137
0.013781
0.014339
0.014802
0.015105
0.015308
0.015416

0.001302
0.001303
0.001226
0.001135
0.001036
0.000934
0.000891
0.000845
0.000792
0.000729
0.000592
0.000445
0.000294
0.000144
0.000058
-0.000025
-0.00011
-0.0002
-0.000358
-0.000519
-0.000679
-0.000832
-0.000915
-0.000989
-0.001059
-0.001128
-0.001259
-0.001389
-0.001511
-0.001622
-0.001657
-0.001679
-0.001693
-0.001702
-0.001769
-0.001832
-0.001885
-0.001924
-0.001885
-0.001832
-0.00177
-0.001702
-0.001693
-0.001679
-0.001657
-0.001622
-0.001512
-0.001389
-0.001259
-0.001128
-0.001059
-0.000989
-0.000915
-0.000832
-0.000679
-0.000519
-0.000358
-0.0002
-0.00011
-0.000025
0.000058
0.000144
0.000294
0.000445
0.000592
0.000729
0.000792
0.000845
0.000891
0.000934
0.001036
0.001135
0.001226
0.001303
0.001302
0.001288
0.001264
0.001235
0.001264
0.001288