Jump to content

Banner.jpg.b83b14cd4142fe10848741bb2a14c66b.jpg

ZiHao

Members
  • Posts

    211
  • Joined

  • Last visited

Reputation

367 Excellent

1 Follower

Profile Information

  • Gender
    Male
  • Interests
    Stargazing, Physics, Maths, Movies
  • Location
    West Malaysia

Recent Profile Visitors

2,294 profile views
  1. What a coincidence! I am not a member of the society but I was a participant of their astrophotography competition in 2019. The first step would be fitting multiple gaussians to the spectrum, you can do this in either the Origin software (https://www.youtube.com/watch?v=WX_X3XlbKRA) or the python script below where you need to manually enter the guesses for the parameters of the gaussians. import numpy as np import matplotlib.pyplot as plt from scipy.optimize import curve_fit import scipy as sp import scipy.signal def gaussian(x, A, x0, sig): return A*np.exp(-(x-x0)**2/(2*sig**2)) def multi_gaussian(x,*pars): total = 0 offset = pars[-1] i = 0 for j in range(int(len(guess)/3): single_g = gaussian(x, pars[i+j], pars[i+j+1], pars[i+j+2]) total+=single_g i+=2 return total + offset para = [] data = #yaxis data data = sp.signal.medfilt(data,5) velocity = #xaxis data guess = #guesses for parameters popt, pcov = curve_fit(multi_gaussian, velocity, data, guess) j = 0 for k in range(int(len(guess)/3)): para.append(popt[j+k+1]) #save the parameters plt.plot(velocity, data, 'b') plt.plot(velocity, multi_gaussian(velocity, *popt), 'r') plt.show() The second step is to obtain the x-y coordinates in the milky way structure using the mean value (which refers to the radial velocity) from the parameters. Vo = 220 Ro = 8.5 x = [] y = [] l = #longitude in radians para = #parameters for a in range(len(para)): Vr = para[a] Rs = Ro*Vo*np.sin(l)/(Vo*np.sin(l)+Vr) if Rs**2-Ro**2*(np.sin(l))**2 < 0: continue rpos = np.sqrt(Rs**2-Ro**2*(np.sin(l))**2) + Ro*np.cos(l) rneg = -np.sqrt(Rs**2-Ro**2*(np.sin(l))**2) + Ro*np.cos(l) if rpos > 0 and rneg > 0: continue elif rpos < 0: continue else: x.append(rpos*np.sin(l)) y.append(-rpos*np.cos(l) + Ro) The final step is superimposing our data on top of the galactic structure plotted using the parameters provided from [11]. ro = [3.48, 3.48, 4.90, 4.90] theta_o = [1.57, 4.71, 4.09, 0.95] k = [4.25, 4.25, 4.89, 4.89] for i in range(4): theta = np.linspace(theta_o[i], theta_o[i] + 2*np.pi, num = 500) r = ro[i]*np.exp((theta - theta_o[i])/k[i]) xm = r*np.cos(theta) ym = r*np.sin(theta) wains = plt.plot(xm, ym, 'k') plt.show()
  2. I am writing my own python code for data acquisition, calibration and representation. Plotting the data is done with matplotlib and some formulae that you can refer to here. I will try to take a look at my code again as it doesn't look very user friendly for now, and if I have the time, I will publish it on github.
  3. Thank you! Not too sure when I can start a new radio astronomy project since I have started university recently. Little space to work with in campus, but I will try. All the best with the refurbishment, and I look forward to the 3m dish. It will open up many opportunities for challenging radio astronomy projects!
  4. The 21cm hydrogen line is a spectral line produced by atomic hydrogen. Due to the abundance of hydrogen atoms and the nature of radio waves to penetrate dust clouds in our galaxy, we can study the milky way by observing the doppler-shifted spectral line. Construction of the geodesic parabolic dish developed by JA6XKQ and 1.42Ghz cantenna for the hydrogen line project: For the introduction of the design, please read this article [1] written by JA6XKQ. For those who are interested in the details of the derivation and surface accuracy of the structure, you can refer to [2]. Another important thing is the supporting structures such as adding supporting rods behind the dish or additional inner meshes to prevent the heavy feed from deforming the structure. See [3] and [4]. This is a 1.4m f/D 0.345 dish. Three L shape aluminium bar as supporting structure is attached to a stainless steel bowl. The same material is used for the feed supports and the reflector is made from galvanized wire mesh. This picture is taken months ago and the mesh is now covered with rust, I plan to apply rust converter to the surface and spray paint at the end. An alternative is to use stainless steel mesh at the beginning, but the cost will be high. If you are interested, please refer to the excel sheet at [5] to obtain the specific dimensions. Cantenna's diameter: 14.5cm, length: 18cm, probe's distance from the back (1/3 of the length): 6cm, probe's length: I started with 0.25*λ, and it is trimmed until a good SWR is obtained with a NanoVNA. These dimensions are based off from the design from Figure 3 at [6] If you want to determine the diameter based on your desired edge taper, you can see page 3 at [7]. A N type female connector is used to attach the copper probe. No soldering needed as there's a hole where the probe can be slid in tightly. To compute the dimensions of the cantenna and a choke ring, refer to the excel sheet from SETI League at [8]. Special thanks to my dad's friend for providing material for the dish and fabricating the feedhorn and its bracket. Observations and results: Spectra below are along the plane of our galaxy from galactic longitude 0 to 360 degrees at latitude 0 degrees and they are the combination of multiple gaussian curves and the corresponding radial velocity of the individual peaks are then used to construct the structure and rotation curve of the milky way. Radial velocities are corrected to the local standard of rest (LSR). Individual spectrum is multiplied by a constant obtained from the calibration using the S7 region's peak brightness temperature value from the LAB survey, at [9]. Observations for the hydrogen line map from declination -60 to 60 degrees are done by pointing the dish at a specific declination and different regions of the sky will be captured thanks to Earth's rotation. This is a technique known as drift scan. Hydrogen column density is calculated by integrating the area under the spectrum from radial velocity -150km/s to 150km/s and times 1.82x10^18, given at [10]. Milky way structure. Data seemed to only match with the Perseus and Carina-Sagittarius arms. Most of the points are in between the Perseus and Norma arm, this is probably due to unresolved peaks in the spectrum from smaller radio telescope. Parameters for the spirals arm plot can be found on page 7 at [11]. Lastly the rotation curve fitted with a logarithmic curve. The rotation speed is obtained by choosing the most red-shifted and blue-shifted radial velocities in the spectra obtained from Quadrant I and IV respectively. The rotation speed are lower compared to the published data from Clemens (1985) attached, because the most red and blue-shifted peaks are often weak and difficult to detect with good SNR and hence the chosen peaks will be not be the maximum and minimum radial velocities. But the general trend can be seen clearly in the graph, a flat curve as you go further away from the center of milky way, suggesting that something is giving them extra speed and most of the mass might not be concentrated in the center. Thanks for reading! References: [1]http://www.terra.dti.ne.jp/~takeyasu/Geodesic_Parabola_Antenna_2_1.pdf [2]https://f4buc.pagesperso-orange.fr/parabole_geodesique2.htm [3]http://www.terra.dti.ne.jp/~takeyasu/PhotoGallery.html#new_photo [4]https://www.youtube.com/watch?v=od2SEhq8DR4&t=11s [5]http://www.terra.dti.ne.jp/~takeyasu/ [6]https://www.semanticscholar.org/paper/A-compact-radio-telescope-for-the-21cm-line%3B-za-21-Saje-Vidmar/e5baaf7450e0aea72e7926e1bdd75d3175f23424 [7]http://www.w1ghz.org/antbook/chap6-3.pdf [8]http://www.setileague.org/hardware/feedchok.htm [9]https://www.astro.uni-bonn.de/hisurvey/euhou/LABprofile/ [10]https://www.cv.nrao.edu/~sransom/web/Ch7.html [11]https://iopscience.iop.org/article/10.1086/501516/pdf
  5. Nice observation. I think it's quite rare to see someone observing in the S band so I am interested in the details of the hardware and software used!
  6. Using rv=11, R=11.9, r=3.47, X=-0.603, Y=3.42 X=rsinl Y=-rcosl Add 8.5 to Y if you want the galactic centre to be (0,0).
  7. Alright, I tried plotting the results just now and I have the same results, rv=11. This is interesting, are your rv for spectrum of other locations off by few kilometers as well? If yes, then I think it will be good to check with @Victor Boesen LSR correction and compare the results.
  8. I think there's some mistake with the formula that you are using, I tried plugging in rv=6.18, as well as rv=11, I get positive R. You can refer to the notes I attached earlier or the equation you corrected in the pdf. Is it possible for you to send the raw data for this spectrum, l=190? I will try to correct it to LSR later and see if it matches with LAB survey.
  9. Hmm...Are the LSR corrections correct? I try substituting the values from the LAB survey, they seems to give positive R. If the corrections are correct, then I guess you have to reject the values obtained near l=180, from the earlier pdf paper you shared, it seems like there is no data points around that area also.
  10. I don't think you should worry about the sign in this case. If you want to substitute V=-V0 into the equation(the one that differs with a negative sign) for Q3 and Q4, we will still get the same equation. You can also try playing with the signs in the radial velocity formula and the patterns of receding, approaching, etc in the quadrants will match with what we expected. At locations for l=0,90,180,270, I believe there will be a peak centered more or less at 0km/s because the velocity of component is parallel or perpendicular to us so radial velocity is zero. The R at l=0,180 is not easy to obtain with this method. I am not sure about what are the other methods to obtain the particular R at those locations, but perhaps the other peaks around the 0km/s peak should give a good enough indication of the vicinity of the region that you are observing.
  11. 👍It would be a very exciting project when we can assemble data collected from different parts of the world to create a rather complete hydrogen intensity map of the sky!
  12. And like what you have mentioned in the previous posts, working on the raw frequency spectrums will be easier for baseline subtraction, noise etc. It should be the final spectrum that we are using to convert to LSR.
  13. You can also convert the corrected rvs back to frequencies, but I don't recall seeing that in observations reports, maybe there are other reasons for doing that🧐
  14. Hmmm. What did you get when you enter radial_velocity=rv_corr1 instead for this? observation = ICRS(ra=ra*u.deg, dec=dec*u.deg, \ pm_ra_cosdec=0*u.mas/u.yr, pm_dec=0*u.mas/u.yr, \ radial_velocity=0 *u.km/u.s, distance = 1*u.pc) And rvs=rvs+rv_corr2. As we need to correct our barycentric radial velocity to the LSR, according to the post on stackexchange. I also need to test this procedure on other parts of the milky way, perhaps after my exams in June. I will try to convert the np arrays to json type if there is sharing of data required, if that's you meant by changing😅 We always correct to LSR so that we can compare our data easily with everyone observing at different locations. Since we are working with velocities most of the time, I think that is probably why we usually have velocity as the x-axis.
  15. This line observation = ICRS(ra=record['ra']*u.deg, dec=record['dec']*u.deg, \ pm_ra_cosdec=0*u.mas/u.yr, pm_dec=0*u.mas/u.yr, \ radial_velocity=0 *u.km/u.s, distance = 1*u.pc) I think you should enter radial_velocity=vcorr. Try not changing the 'speeds' array first, when you get the final new_rv, only then you add the value to speeds. So this line has to be removed corrected_rv = speeds+vcorr
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.