diff --git a/test/detector_tests.py b/test/detector_tests.py
index 3298b14590b02fc3d26afc87babadc59912c5820..e31265d15764c67e0a3ffa83bd5601fc009c2452 100644
--- a/test/detector_tests.py
+++ b/test/detector_tests.py
@@ -844,6 +844,13 @@ class TestPowerSpectralDensityWithoutFiles(unittest.TestCase):
         self.assertTrue(np.array_equal(self.psd_array, actual.psd_array))
         self.assertTrue(np.array_equal(self.asd_array, actual.asd_array))
 
+    def test_repr(self):
+        psd = tupak.gw.detector.PowerSpectralDensity(frequency_array=self.frequency_array, psd_array=self.psd_array)
+        expected = 'PowerSpectralDensity(frequency_array={}, psd_array={}, asd_array={})'.format(self.frequency_array,
+                                                                                                 self.psd_array,
+                                                                                                 self.asd_array)
+        self.assertEqual(expected, repr(psd))
+
 
 class TestPowerSpectralDensityWithFiles(unittest.TestCase):
 
@@ -967,6 +974,11 @@ class TestPowerSpectralDensityWithFiles(unittest.TestCase):
                 self.assertTrue(np.array_equal(expected_frequency_array, psd.frequency_array))
                 self.assertTrue(np.array_equal(expected_psd_array, psd.psd_array))
 
+    def test_repr(self):
+        psd = tupak.gw.detector.PowerSpectralDensity(psd_file=self.psd_file)
+        expected = 'PowerSpectralDensity(psd_file=\'{}\', asd_file=\'{}\')'.format(self.psd_file, None)
+        self.assertEqual(expected, repr(psd))
+
 
 if __name__ == '__main__':
     unittest.main()
diff --git a/tupak/gw/detector.py b/tupak/gw/detector.py
index aff43159b44aeaed8f0b7bfbb37bc867540239d7..fbbbb89c64142ad1e1b5ce56792e78de30828f36 100644
--- a/tupak/gw/detector.py
+++ b/tupak/gw/detector.py
@@ -1550,6 +1550,14 @@ class PowerSpectralDensity(object):
         self.psd_file = psd_file
         self.asd_file = asd_file
 
+    def __repr__(self):
+        if self.asd_file is not None or self.psd_file is not None:
+            return self.__class__.__name__ + '(psd_file=\'{}\', asd_file=\'{}\')'\
+                .format(self.psd_file, self.asd_file)
+        else:
+            return self.__class__.__name__ + '(frequency_array={}, psd_array={}, asd_array={})' \
+                .format(self.frequency_array, self.psd_array, self.asd_array)
+
     @classmethod
     def from_amplitude_spectral_density_file(cls, asd_file):
         """ Set the amplitude spectral density from a given file