Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Upscale integer array

Posted on 2013-05-23
1
Medium Priority
?
350 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

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Is your data getting by on basic protection measures? In today’s climate of debilitating malware and ransomware—like WannaCry—that may not be enough. You need to establish more than basics, like a recovery plan that protects both data and endpoints.…

916 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