I always appreciate your help. I am an electrical engineer. I am using a tool for timing analysis of a circuit. I would like to interpolate results from two timing reports at different voltages (0.945V and 0.78V). If voltage is decreased, data arrival time is increased.
For example,
At 0.945V, data arrival time is 0.70
At 0.78V, data arrival time is 0.72
I wanted to know voltage when the data arrival time reaches 0.714 using a linear interpolation.
In this case, I could calculate
(0.78-0.945)/(0.72-0.70)*0.714+(0.945-0.70*(0.78-0.945)/(0.72-0.70))
Voltage information such 0.78, 0.945 and the target data arrival time 0.714 are fixed. However, data arrival times at 0.945V and 0.78V are changed.
There is one more requirement. If data arrival time at 0.945V is above 0.714, then output is 0.714.
0p945.rpt_in:
0p78.rpt_in:
Output.rpt_in needs to be:
There are more than 1000 paths in each file.
I think awk can do this, but I don't know how to do. Any help is appreciated. Thanks in advance.
For each file, there's two data arrival times. Which one do you want to be recalculated? And, how do you get at 0.8295 for the first entry of the output?
How and where is the voltage mentioned? Just in the file name?
Both data arrival times need to be calculated. The first calculated output, 0.8295 is an interpolation result from (0.78-0.945)/(0.72-0.70)*0.714+(0.945-0.70*(0.78-0.945)/(0.72-0.70)).
The other calculated output, 0.714 is obtained without the calculation since the data arrival time at 0.945V is above 0.714 so it would be 0.714.
Let me clarify one thing again. I would like to find voltage when the data arrival time reaches 0.714 using a linear interpolation and replace the calculated voltage with the data arrival time
You didn't answer the question for the source of the voltages so a generic proposal was impossible.
Your solution may work for exactly 0.78 V and 0.945 V but no other input, so it may be not too valueable.
Why did you define the "time" variable? Why the "V" array?
I am trying to perform linear interpolation on three columns in a CSV file.
When I run this code, I do not get any changes in the output (see Expected Output).
What am I doing wrong here?
Awk Code
'
function interpolate(lat1, lon1, t1, lat2, lon2, t2, i) {
for (i = 1; i... (2 Replies)
Dear All,
I have two files which contain numerical data and strings. I want to create a new file that only revise numerical data from two files using interpolation. I guess AWK works, but I am new on AWK.
FileA.txt
.
.
index_2("0.1, 1, 2, 4, 8, 16, 32");
values("0.0330208, 0.0345557,... (17 Replies)
Hi I am a newbie in awk scripting.
I'm working with a file with xy coordinates that were acquired with a time stamp. All the time stamps were recorded but not the XY coordinates. Let see an example:
FFID X Y UNIX TIME TIMEGAP... (8 Replies)
Dear all, could you help me with following question. There are two datasets (below). I need to find match between BP values from data1 and data2, and add corresponding CM value from data2 into data1. if there is not exact match, the corresponding CM value should be calculated using interpolation.... (20 Replies)
Hi ! Experts...
I just wanted to know whether it is possible in scripting...to do interpolation....
if so....have a look on my data file
I need temperature and salinity value with a bin size of 0.5 m
output looks somewhat like this
dep temp sal
0.5 25 0.077
1 25 ... (12 Replies)
Hi all,
Consider I have a text file containing:
1003 60
1005 80
1100 110
Based on that file I need to create another file which is containing value from 1001 till 1100 which is a linear interpolation between two point (for 1004; 1006;1007 until 1109) and extrapolation based on 2... (7 Replies)
Hi everybody,
Firstly, this would be the first time I'm using JavaScript. My background is mainly Perl. Nevertheless, here's my problem.
So I've created a function
function linkout(url){
setTimeout("window.open(url)",5000) //in milliseconds
}
However because the variable "url" is... (0 Replies)
I've become obsessed with trying to get this to work.
As of yet, I am unable to figure it out. Unfortunately, I don't have Linux or UNIX available when I get home.
Anyone have tips for me on how I can pass param1 to ID via use of COUNTER and loop?
thx.
LIMIT=6
param1="999999999"
export... (0 Replies)