> Thanks for replying to my query. Yes, my coeffs
are in decmal. I tried the
>sugestion with something like " hz[0] = 0.2134r;", but the
compiler comlains
>abt the syntax.
> Hi,
> As part of an assignment using ADSP2181 in Visual DSP, I am required to
> create 2 sinusoids of different frequencies using a lookup table. Heres
the
> exact words "Write a macro that creates a sinusoid of amplitude A,
lookup table > cycle c, with DAG pointer and address modifier as
i/p parameters."
> I generated the sinusoids using the "sin" function, but the
lecturer prefers > creating it from a lookup table.
> What does lookup table mean? and how do we generate a signal using that. Any > hints anyone?
You missed a day in class eh? A lookup table is just a list of values in
memory. You use the address as an input and the value you have stored
there is the output. It's really simple.
Which only gives half a sine wave (can you see why?)
Your prof wants you to build a table, and then use
indirect addressing to look up values in the table.
Use a circular DAG, and a full table, and you can
generate a sinisoid really easily.
Patience, persistence, truth,
Dr. mike
Reply by Leon Heller●June 6, 20032003-06-06
>From:
>To: Dave Tiefenbrunn <>
>CC:
>Subject: RE: [adsp] coversion between data formats
>Date: Fri, 6 Jun 2003 20:44:45 +1200
>
>Hi Dave,
> Thanks for replying to my query. Yes, my coeffs are in decmal. I tried
>the
>sugestion with something like " hz[0] = 0.2134r;", but the
compiler
>comlains
>abt the syntax. Clearly, it was expecting an ';' instead of
the'r' at the
>end.
>Do I have to set any other compiler options for this to work?
> Without the 'r', if I just input the decimal (double), like say
the
>value '0.5', it gets stored in the dm as 3F00 0000. What format is
this? In
>1.15 format, I would expect 4000 0000.
>Thanks,
>
You will find something called EZForum for old 2181 EZ-Kit Lite on the ADI
web site. That contains a utility, TODAT.com, written by Dwight Elvey that
converts a file containing FP values into 1.15 format.
Leon
--
Leon Heller, G1HSM Tel: +44 1424 423947
Email:
My web page: http://www.geocities.com/leon_heller
Hi..its me again... :)
Another itsy bitsy doubt..i noticed that when a "double arra[]" was
stored in
the data memory, each element of the array took up 4 bytes, but when stored
in
the program memory, each element took up 6 bytes.
Heres the actual snippet of the test code and the corresponding memory dump:
double dm arr1[3] = {0.5, -0.5, 0.25};
arr1 (in data memory)
[000006] 3F00 0000 BF00
[000009] 0000 3E80 0000
double pm arr2[3] = {0.5, -0.5, 0.25};
arr2 (in program memory)
[0037BB] 3F0000 000000
[0037BD] BF0000 000000
[0037BF] 3E8000 000000
Is there a reason for this diffrence?
Thanks,
Hans
Quoting :
> Hi Dave,
> Thanks for replying to my query. Yes, my coeffs are in decmal. I tried
the
> sugestion with something like " hz[0] = 0.2134r;", but the
compiler comlains
>
> abt the syntax. Clearly, it was expecting an ';' instead of
the'r' at the
> end.
> Do I have to set any other compiler options for this to work?
> Without the 'r', if I just input the decimal (double), like say
the
> value '0.5', it gets stored in the dm as 3F00 0000. What format
is this? In
> 1.15 format, I would expect 4000 0000.
> Thanks,
> Hans
>
> Quoting Dave Tiefenbrunn <>:
>
> > If your coefficients are in decimal, (range + - 1) just put an
"r" after
> each
> > number like this:
> > .00564856r
> > .00045751r
> > -.12545654r
> >
> > The assembler converts them to 1.15. It took me hours to find that
out.
> >
> > Dave
> >
> > David Tiefenbrunn N1WWY
> > Essential Telecommunications Corp. - http://www.essentialtel.com
> > David Tiefenbrunn - http://users.abac.com/dandatief
> >
> >
> >
> > -----Original Message-----
> > From: [mailto:]
> > Sent: Wednesday, June 04, 2003 7:49 AM
> > To:
> > Subject: [adsp] coversion between data formats
> >
> >
> > Folks,
> > I am trying to implement a low pass FIR filter in Visual DSP for
the
> 2181
> >
> > processor
> > [snip]
> >
> > The coefficients I obtained are in floating
> > point format and some in fixed point format. Can u tell me how to
convert
> > these
> > to the 1.15 point representation
>
>
>
Reply by ●June 6, 20032003-06-06
Hi Dave,
Thanks for replying to my query. Yes, my coeffs are in decmal. I tried the
sugestion with something like " hz[0] = 0.2134r;", but the compiler
comlains
abt the syntax. Clearly, it was expecting an ';' instead of
the'r' at the end.
Do I have to set any other compiler options for this to work?
Without the 'r', if I just input the decimal (double), like say the
value '0.5', it gets stored in the dm as 3F00 0000. What format is
this? In
1.15 format, I would expect 4000 0000.
Thanks,
Hans
Quoting Dave Tiefenbrunn <>:
> If your coefficients are in decimal, (range + - 1)
just put an "r" after each
> number like this:
> .00564856r
> .00045751r
> -.12545654r
>
> The assembler converts them to 1.15. It took me hours to find that out.
>
> Dave
>
> David Tiefenbrunn N1WWY
> Essential Telecommunications Corp. - http://www.essentialtel.com
> David Tiefenbrunn - http://users.abac.com/dandatief
>
> -----Original Message-----
> From: [mailto:]
> Sent: Wednesday, June 04, 2003 7:49 AM
> To:
> Subject: [adsp] coversion between data formats
> Folks,
> I am trying to implement a low pass FIR filter in Visual DSP for the
2181
>
> processor
> [snip]
>
> The coefficients I obtained are in floating
> point format and some in fixed point format. Can u tell me how to
convert
> these
> to the 1.15 point representation
>
Reply by ●June 6, 20032003-06-06
Hi,
As part of an assignment using ADSP2181 in Visual DSP, I am required to
create 2 sinusoids of different frequencies using a lookup table. Heres the
exact words "Write a macro that creates a sinusoid of amplitude A, lookup
table
cycle c, with DAG pointer and address modifier as i/p parameters."
I generated the sinusoids using the "sin" function, but the lecturer
prefers
creating it from a lookup table.
What does lookup table mean? and how do we generate a signal using that. Any
hints anyone?
Thanks,
Hans
Reply by Dave Tiefenbrunn●June 5, 20032003-06-05
If your coefficients are in decimal, (range + - 1) just put an "r"
after each
number like this:
.00564856r
.00045751r
-.12545654r
The assembler converts them to 1.15. It took me hours to find that out.
Dave
David Tiefenbrunn N1WWY
Essential Telecommunications Corp. - http://www.essentialtel.com
David Tiefenbrunn - http://users.abac.com/dandatief
-----Original Message-----
From: [mailto:]
Sent: Wednesday, June 04, 2003 7:49 AM
To:
Subject: [adsp] coversion between data formats
Folks,
I am trying to implement a low pass FIR filter in Visual DSP for the 2181
processor
[snip]
The coefficients I obtained are in floating
point format and some in fixed point format. Can u tell me how to convert
these
to the 1.15 point representation
Reply by ●June 4, 20032003-06-04
Folks,
I am trying to implement a low pass FIR filter in Visual DSP for the 2181
processor (Am very new to signal processing). I used the signal processing
toolbox in Matlab to generate coefficients of the required filter. (its a 844
order filter) and then exported these coefficients to a file and then read in
the coefficients in Visual DSP. The coefficients I obtained are in floating
point format and some in fixed point format. Can u tell me how to convert
these
to the 1.15 point representation (the 16-bit representation with 1 sign bit
and
the others 2^(-1), 2^(-2) ..2^(-15)). Do I do this conversion in Visual DSP
or
in Matlab itself?
I have an 800-sample input signal which is a sum of two sinusoids. I need to
filter out one of the signals.
Thanks in advance,
Hans
Reply by dalvi kiran●June 4, 20032003-06-04
Hi all,
I am facing problems in simulating interrupts for
ADSP2184 in VisualDSP++. I have written service
routine, & i am forcing interrupt by using raise()
function. raise function is working properly, but
program is not taking interrupt routine.
What i am supposed to do ?
Does anybody have code for the same ?