Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Upscale integer array

Posted on 2013-05-23
1
Medium Priority
?
351 Views
Last Modified: 2016-09-30
Hello,
  I have some acquisition data stared in the following  arrays:

const
cChannels = 6;
cMaxSampleDuration = 420;

var
    MyIntegerArray: array[0..cChannels -1, 0..cMaxSampleDuration -1] of Integer;

Sample Data
As you can see from the screenshot, the first channel has range -4.000 up to 4.000 and the other have smaller range. how can upscale the other channels to be almost in equal range of the first channel ?

Thank you
0
Comment
Question by:chmichael
1 Comment
 
LVL 28

Accepted Solution

by:
Sinisa Vuk earned 2000 total points
ID: 39192655
Is this similar question as you asked before? Do you have problem with my code?
http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_28126546.html

For this request - little modification:
var
  MyIntegerArray: array[0..cChannels -1, 0..cMaxSampleDuration -1] of Integer;
  MaxVal, Channel, Samples, MaxAmp: Integer;
...
  MaxAmp := 4000;

  for Channel := 0 to 6 -1 do
  begin
    //pre scale to get max
    MaxVal := 0;
    for Samples := 0 to cMaxSampleDuration -1 do
      if Abs(MyIntegerArray[Channel, Samples])>MaxVal then MaxVal:=Abs(MyIntegerArray[Channel, Samples]);

    //scaling
    for Samples := 0 to cMaxSampleDuration -1 do
      MyIntegerArray[Channel, Samples] := MulDiv(MyIntegerArray[Channel, Samples], MaxAmp, MaxVal);
  end;

Open in new window

0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Screencast - Getting to Know the Pipeline
When cloud platforms entered the scene, users and companies jumped on board to take advantage of the many benefits, like the ability to work and connect with company information from various locations. What many didn't foresee was the increased risk…
Suggested Courses
Course of the Month11 days, 8 hours left to enroll

564 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question