Skip to content

Latest commit

 

History

History
149 lines (120 loc) · 3.04 KB

Analyse superHET.md

File metadata and controls

149 lines (120 loc) · 3.04 KB
jupyter
jupytext kernelspec
formats text_representation
ipynb,md
extension format_name format_version jupytext_version
.md
markdown
1.3
1.10.1
display_name language name
Python 3
python
python3
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

from bokeh.plotting import figure, show
from bokeh.io import output_notebook
from bokeh.models import CrosshairTool
output_notebook()

Copy paste from:

https://www.minicircuits.com/pages/s-params/ZVBP-10R7G-S+_VIEW.pdf

data = '''6000 103.14 110.59 102.45 0.06 0.14 0.16 0.09 0.18 0.22
6500 100.75 104.17 110.01 0.06 0.15 0.16 0.08 0.18 0.21
7000 104.80 104.13 103.43 0.04 0.15 0.16 0.08 0.18 0.21
7500 104.53 98.35 94.99 0.02 0.15 0.17 0.08 0.18 0.20
8000 96.74 94.60 99.38 0.00 0.14 0.18 0.08 0.19 0.22
8500 89.38 89.66 86.41 0.03 0.13 0.17 0.07 0.18 0.22
9300 67.73 67.60 67.41 0.07 0.11 0.18 0.09 0.23 0.29
10065 30.59 30.28 29.78 0.00 0.17 0.27 0.18 0.36 0.49
10180 20.51 20.03 19.39 0.12 0.26 0.37 0.26 0.48 0.63
10265 11.13 10.39 9.61 0.57 0.79 1.02 0.66 0.99 1.25
10330 3.64 3.01 2.46 3.12 4.12 5.24 3.13 4.22 5.42
10450 0.26 0.42 0.53 29.69 27.59 23.35 30.14 29.20 24.94
10550 0.22 0.39 0.49 28.20 26.36 26.33 30.62 27.42 27.07
10600 0.22 0.39 0.49 22.82 22.54 22.40 25.17 24.11 23.47
10700 0.20 0.36 0.47 27.57 34.03 32.92 30.55 40.96 40.36
10750 0.20 0.37 0.46 25.96 29.23 34.88 26.60 27.63 31.21
10800 0.21 0.38 0.47 23.98 25.24 28.78 25.02 25.36 28.39
10850 0.21 0.38 0.47 29.47 31.61 35.79 34.92 33.39 36.75
10900 0.23 0.39 0.49 25.74 29.79 29.62 26.99 30.43 29.84
10950 0.26 0.42 0.52 21.51 25.41 30.21 21.13 23.68 27.17
11080 2.38 3.17 4.16 4.61 3.85 3.02 4.66 3.96 3.19
11145 9.05 10.13 11.21 0.75 0.79 0.71 0.84 0.84 0.77
11240 19.07 20.11 20.95 0.05 0.22 0.25 0.18 0.30 0.34
11365 29.32 30.28 30.94 0.03 0.16 0.21 0.07 0.19 0.24
11800 52.07 52.74 53.26 0.10 0.11 0.20 0.09 0.25 0.31
12000 59.22'''
d2 = [l.split(" ") for l in data.split('\n')]
len(d2)
df = pd.DataFrame(d2)
df = df[0:-1]
df
f = df[0].values.astype(float)
db = df[1].values.astype(float)
p = figure(height=300, width=600) 
p.sizing_mode = "scale_width"
p.line(f,-db)
target = show(p, notebook_handle=True)
fi = np.arange(f[0],f[-1],1)
dbi = np.interp(fi,f,db)
dbi[np.where(fi == 10330-500)]
f_if = 350
f_upper = 10500
f_car = f_upper - f_if
f_lower = f_upper - 2*f_if

for f in "f_upper", "f_upper - 25", "f_car", "f_lower":
    print("db %s %f" % (f, dbi[np.where(fi == eval(f))]))

That's probably not going to cut it in terms of image suppression.

Calculate required rolloff

f_if = 300
bw_if = 100
dB_image = 70
print("freq off = ", 2*f_if-bw_if/2)
f_if = 350
bw_if = 100
dB_image = 70
print("freq off = ", 2*f_if-bw_if/2)
f_if = 300
bw_if = 50
dB_image = 70
print("freq off = ", 2*f_if-bw_if/2)
10000-550