Breaking News
Page 1 / 2   >   >>
User Rank
Rookie
re: The basics of FPGA mathematics
8/13/2012 9:56:00 PM
NO RATINGS
If you do financial calculations for instance, then better design for worst case, but when it comes to FIR filter for signal processing, designing for the absolute worst case with respect to maximum amplitude at the input is not always necessary. To illustrate: Take a narrow band FIR filter (f0). The maximum output ampltude will be with a sinewave at the centre frequency f0. But if you know that such an input signal will never be present in practice, then you can relax on the maximum supported ampltude and discard some MSB as illustrated in my small numeric example with modulus arithmetic. A realistic example of such an input could be if the sinewave at f0 is always accompanied by other signals - noise for example, then you know that the input sinewave can never fill the whole input amplitude, because if it did, there would be clipping or overrun already at the input. The out-of-band (f0) signals would be filtered away in the FIR filter and give little contribution to the output - only the sinewave at f0 gets through. I.e. the net result is that you can spare some of the MSB's without damaging your signal. But again, using saturation type of adders in the intermediate results would result in distortion at a lower input level than without saturation. To determine if the filter is properly designed you would need to simulate or at least be prepared to do some iterations of test and redesign.

User Rank
Blogger
re: The basics of FPGA mathematics
8/13/2012 7:14:35 PM
NO RATINGS
Whether writing code or designing hardware one should always ensure it works in the worse case. With code you need to ensure you hit all of the corner cases. You can model it in excel, matlab or mathcad etc to ensure the worse case is captured.

User Rank
Rookie
re: The basics of FPGA mathematics
8/12/2012 8:48:13 PM
NO RATINGS
Yes but when writing code how do you know the outcome? don't you have to assume worst case?

User Rank
Rookie
re: The basics of FPGA mathematics
8/9/2012 10:01:28 PM
NO RATINGS
Excellent point about not using saturation arithmetic in FIR filters, and just allowing modulo arithmetic to do it's thing.

User Rank
Rookie
re: The basics of FPGA mathematics
8/9/2012 8:20:51 PM
NO RATINGS
Thanks for a good article. Your warning, however, about overflow producing an incorrect result is not concern in all cases and has important practical implications. I think it is less known and quite astonishing: It goes.. "You can add any quantity of fixed point signed numbers (say W bits wide), in _any_ order and ignore overflow - PROVIDED that the final result is within the range of the accumulator. The result will always be correct!" Eksample: W=3 bits and for simplicity of example - no fractional bits, so numbers can be [-4,-3,-2,-1-0,1,2,3]. We all agree on the following example calculation using decimal numbers: -4-3+2+3=-2 No do the summing from left to right using only 3 bits in the accumulator (Bxxx is in binary: -4-3=-7 (B100+B101=B1001 overflow! - remove the excess bits) Result=B001=1, 1+2=3 (B001+B010=B011) 3+3=6 (B011+B011=B110) but B110 is the same as -2 I.e. the result we were looking for. All this is due to the modulus arithmetic in operation. Be cautious though. This does NOT work if you - in a mistaken attempt to be cautious and careful to catch errors - implement the adder with saturation! The result will be totally wrong. So in an FIR (Finite Impulse Response filter) for instance where such a long sum is bread-and-butter, one should _not_ use a saturating adder but simply truncate the overflowing bits. By the way in this example you could do with just 2 bits in the accumulator (and each number for that matter) because the result -2 can be represented by a 2 bits. Only the result determines the size required by the accumulator excess bits can be ignored. Henning E. Larsen

User Rank
Blogger
re: The basics of FPGA mathematics
8/8/2012 5:33:23 PM
NO RATINGS
George Thanks for the kind comments. With respect to point one I did cover storing different scaling factors in a vector as opposed to the actual width. The key becomes can you accurately represent the number in the vector width available i.e. dynamic range as you correctly point out. I made the point about aligning the numbers for division as while it is possible to divide none aligned numbers. the scaling of the result will be the difference between the two and you have to be careful not to send them negative. As this is a basic how to article I did not want to introduce to many concepts. I will address this in my blog over at programmable planet however as it is an important concept. Thanks again for taking the time to read it I do appreciate it ;)

User Rank
Rookie
re: The basics of FPGA mathematics
8/8/2012 9:48:42 AM
NO RATINGS
It is good to see these issues being discussed in this forum - thank you. A couple of issues for clarity: 1. You don't need more bits to represent a larger number in fixed point, as there is no reason to require the unit digit to be part of the bit representation, e.g. we could have "01" representing 1x2^8 if we like. Equally it could represent 1x2^{-8}. So long as we know the scaling, it doesn't matter - in effect - whether the binary point is inside or outside the number. Thus the number of bits defines the dynamic range, but not the range of representable numbers. This is not quite captured by the notion of "integer bits" used here. 2. To add and subtract, you must align scalings of fixed point arguments, as you say. But you don't need to do this for division. Readers may be interested in the latest developments on this and related issues in IEEE Design & Test magazine: "Numerical Data Representations for FPGA-based Scientific Computing", G.A. Constantinides, N. Nicolici, A.B. Kinsman, IEEE Design and Test 28(4).

User Rank
Blogger
re: The basics of FPGA mathematics
8/8/2012 6:53:11 AM
NO RATINGS
No problem, it is hard to determinine what to include in these articles. Regarding the Log10 they will of course work in any base but most calculators have base log10 and ln hence my use of the log10. but any base will do as you say. Thanks for your comments

User Rank
Blogger
re: The basics of FPGA mathematics
8/8/2012 6:50:56 AM
NO RATINGS
Sorry gents you are correct it should be 131.29 my appologies

User Rank
Blogger
re: The basics of FPGA mathematics
8/7/2012 10:24:21 PM
NO RATINGS
It's 11:30pm in the UK as I pen these words -- I'm sure Adam will respond in the morning -- Max

Page 1 / 2   >   >>

Flash Poll

#### Datasheets.com Parts Search

##### 185 million searchable parts (please enter a part number or hit search to begin)
Frankenstein's Fix, Teardowns, Sideshows, Design Contests, Reader Content & More
Betajet">

The Circle – The Future's Imperfect in the Present Tense 5 comments
The Circle, a satirical, dystopian novel published in 2013 by San Francisco-based writer Dave Eggers, is about a large, very powerful technology company that combines aspects of Google, ...

I'm not sure if I read more than most folks or not, but I do I know that I spend quite a lot of time reading. I hate to be idle, so I always have a book or two somewhere about my person -- ...

latest comment betajet

Vincent Valentine is a man on a mission. He wants to make the first house to ever have a telephone into a telephone museum. Without help, it may not happen.

As every developer knows, there are the paper specifications for a product design, and then there are the real requirements. The paper specs are dry, bland, and rigidly numeric, making ...

latest comment MWagner_MA
Special Video Section
The LT8640 is a 42V, 5A synchronous step-down regulator ...
5:52
The LTC2000 high-speed DAC has low noise and excellent ...
5:14
How do you protect the load and ensure output continues to ...
6:54
General-purpose DACs have applications in instrumentation, ...
7:34
Linear Technology demonstrates its latest measurement ...
10:29
Demos from Maxim Integrated at Electronica 2014 show ...
4:17
Bosch CEO Stefan Finkbeiner shows off latest combo and ...
5:59
STMicroelectronics demoed this simple gesture control ...
2:15
Keysight shows you what signals lurk in real-time at 510MHz ...
4:17
TE Connectivity's clear-plastic, full-size model car shows ...
3:42
Why culture makes Linear Tech a winner.
6:08
Recently formed Architects of Modern Power consortium ...
6:39
Specially modified Corvette C7 Stingray responds to ex Indy ...
8:52
Avago’s ACPL-K30T is the first solid-state driver qualified ...
2:42
NXP launches its line of multi-gate, multifunction, ...
4:56
Doug Bailey, VP of marketing at Power Integrations, gives a ...
9:28
See how to ease software bring-up with DesignWare IP ...
5:19
DesignWare IP Prototyping Kits enable fast software ...
4:01
This video explores the LT3086, a new member of our LDO+ ...
7:03
In today’s modern electronic systems, the need for power ...
5:48