Skip to main content
added 1 character in body
Source Link
TimWescott
  • 13.3k
  • 1
  • 12
  • 25

this is where things start to to awry

Actually, no. Here's where things go sideways:


h_lpf =
 
  1.331e-05 z + 1.331e-05
  -----------------------
           z - 1
 
Sample time: 1.8824e-11 seconds
Discrete-time transfer function.

Or, rather, where you see what Matlab has printed out, and you take it for truth.

It's pretty obvious that the z - 1 in your denominator is really "z plusminus something that's been rounded to one".

I don't know the details of extracting a transfer function from Matlab (I don't use it for signal processing). But you need to figure out how to print out the numerator and denominator of that transfer function as arrays, and then you need to make sure you're printing them at full resolution. I think you'll find (as you figured out on your own) that it's really z - (1 - 2 * 1.331e-5).

this is where things start to to awry

Actually, no. Here's where things go sideways:


h_lpf =
 
  1.331e-05 z + 1.331e-05
  -----------------------
           z - 1
 
Sample time: 1.8824e-11 seconds
Discrete-time transfer function.

Or, rather, where you see what Matlab has printed out, and you take it for truth.

It's pretty obvious that the z - 1 in your denominator is really "z plus something that's been rounded to one".

I don't know the details of extracting a transfer function from Matlab (I don't use it for signal processing). But you need to figure out how to print out the numerator and denominator of that transfer function as arrays, and then you need to make sure you're printing them at full resolution. I think you'll find (as you figured out on your own) that it's really z - (1 - 2 * 1.331e-5).

this is where things start to to awry

Actually, no. Here's where things go sideways:


h_lpf =
 
  1.331e-05 z + 1.331e-05
  -----------------------
           z - 1
 
Sample time: 1.8824e-11 seconds
Discrete-time transfer function.

Or, rather, where you see what Matlab has printed out, and you take it for truth.

It's pretty obvious that the z - 1 in your denominator is really "z minus something that's been rounded to one".

I don't know the details of extracting a transfer function from Matlab (I don't use it for signal processing). But you need to figure out how to print out the numerator and denominator of that transfer function as arrays, and then you need to make sure you're printing them at full resolution. I think you'll find (as you figured out on your own) that it's really z - (1 - 2 * 1.331e-5).

Source Link
TimWescott
  • 13.3k
  • 1
  • 12
  • 25

this is where things start to to awry

Actually, no. Here's where things go sideways:


h_lpf =
 
  1.331e-05 z + 1.331e-05
  -----------------------
           z - 1
 
Sample time: 1.8824e-11 seconds
Discrete-time transfer function.

Or, rather, where you see what Matlab has printed out, and you take it for truth.

It's pretty obvious that the z - 1 in your denominator is really "z plus something that's been rounded to one".

I don't know the details of extracting a transfer function from Matlab (I don't use it for signal processing). But you need to figure out how to print out the numerator and denominator of that transfer function as arrays, and then you need to make sure you're printing them at full resolution. I think you'll find (as you figured out on your own) that it's really z - (1 - 2 * 1.331e-5).