<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def could_collide_ver(self, vpos, adsb_pkt):
        '''return true if vehicle could come within filter_dist_z meters of adsb vehicle in timeout seconds'''
        if adsb_pkt.emitter_type < 100 or adsb_pkt.emitter_type > 104:
            return True
        margin = self.asterix_settings.filter_dist_z
        vtype = adsb_pkt.emitter_type - 100
        valt = vpos.alt
        aalt1 = adsb_pkt.altitude * 0.001
        if vtype == 2:
            # weather, always yes
            return True
        if vtype == 4:
            # bird of prey, always true
            return True
        # planes and migrating birds have 150m margin
        aalt2 = aalt1 + adsb_pkt.ver_velocity * 0.01 * self.asterix_settings.filter_time
        altsep1 = abs(valt - aalt1)
        altsep2 = abs(valt - aalt2)
        if altsep1 > 150 + margin and altsep2 > 150 + margin:
            return False
        return True